[...] a carefully designed application-program interface for Internet optimization services would do much to encourage development of client applications- Fourer, Goux
larsbeck

Optimization.Framework.JS

by Lars on April 18, 2013

Today we are showcasing the first (very early) version of the Optimization.Framework.JS. As you might have guessed by now, it is a port of the Optimization.Framework to JavaScript. Actually, we could have called it Optimization.Framework.TS, because it is entirely written in TypeScript. If you don’t know TypeScript I recommend to check it out, it is pure awesomeness :)
Anyway, to showcase the Framework.JS, what could be more suited than a little JSFiddle, so here you go:

Optimization.Framework.js

The Optimization.Framework.JS in JSFiddle

The important pane to look at is at the lower left, where you see a sample transport model (scroll down to the bottom, which is where the actual model formulation is). If you have worked with the Framework before, everything should look pretty familiar. It does look so familiar because of this amazing (and slightly crazy – in a good way!) project: http://linqjs.codeplex.com/. Yepp, they did port some of the LINQ stuff to JavaScript, pretty cool, huh?
Now, to solve the model, I ported the solver binding we had to GLPK and reused it for GLPK.js (http://hgourvest.github.io/glpk.js/). That’s right, now you can model and solve entirely in the browser. Of course, JavaScript wasn’t made for high performance optimization, which is why we will publish another solver binding soon, which will give you access to all the power you need to solve large scale optimization models.

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

larsbeck

ICS and GLPK.js

by Lars on January 6, 2013

Yesterday I attended CooprFest, which was great fun! When we were out for dinner a few people told me that there was a Javascript implementation of GLPK! Henri Gourvest created a library called GLPK.js which is hosted on Github. So if you ever wanted to solve (small) MIP models in the browser, well, now you can. Here is a little playground, where you can go ahead and try it.

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

The GLPKSolver package (available here for the Optimization.Framework is now able read .mod and .dat files into your model.

Usage:

var model = new Model();
model.Load("diet.mod", "diet.dat");

You can then go ahead and work with the model, i.e. solve or manipulate it.

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

You may have heard, that Gurobi has released the next version of their solver software.
Today we released version 0.3.1062.0 of the Optimization.Framework which adds support for Gurobi 5.0. As always, you can get the latest version of the Optimization.Framework from the Nuget repository: http://nuget.org/packages/Optimization.Framework.

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

larsbeck

Optimization.Framework Forum

by Lars on April 23, 2012

We had a few requests for a forum where people can ask questions about the Optimization.Framework recently, so here it is: https://groups.google.com/forum/#!forum/optimizationframework-forum.

Lars

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

At APMOD 2012 conference in Paderborn there will be two workshops, one on the Optimization.Framework, which will be held by Jens Peter Kempkes and Lars Beckmann and one on Pyomo which will be held by Jean-Paul Watson and John Siirola.
If you are interested in attending, use the links next to the title to register:

Hands-on-lab: Optimization.Framework – The Algebraic Modeling Language for .NET (Register here)
In this hands-on-lab you will learn how to build algebraic models using the Optimization.Framework. After a short introduction of the key components and how they work together you will boot up a preconfigured virtual machine and implement your first algebraic model in .NET. You will learn how to retrieve parameter sets from a database and build a model based on this data context. Handing a model over to a solver and working with the returned solution (i.e. tying it to business objects) will complete the first part of this lab. The second part of this lab will introduce the concept of behavior-driven modeling and show hands-on, how this new modeling process results in models that are less likely to contain errors.

Hands-On Lab: Using Python and the Algebraic Modeling Language Pyomo to Specify, Solve, and Analyze Mathematical Programs (Register here)
The purpose of this lab session is to learn the basics of how to use the open-source Pyomo algebraic modeling language to specify, solve, and analyze mathematical programs – all within the Python programming language environment. Pyomo provides capabilities for modeling linear and non-linear programs, both with and without discrete variables. The lab is broken into four segments – and assumes no knowledge of Python. In the first segment, we will interactively illustrate the use of Pyomo to model and solve some basic mathematical programs. In the second segment, we will discuss various mechanisms available to import data into Pyomo. The third segment will focus on some simple Python scripts that allow for customized interaction with and analysis of a mathematical program. Finally, we will briefly survey two advanced modeling features enabled by Pyomo: stochastic programming and generalized disjunctive programming.

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

Today I got a surprise visit from Jochen, a student, who just finished his bachelor thesis at the group of Prof. Kundisch (Information Management and E-Finance). He had been using the Optimization.Framework in his thesis and wanted to say thank you for the Framework and a few hints I had given him.

Not only did he say thank you, but he also gave me an amazon voucher (see below).


@Jochen: By posting this I want to say thanks! You made my day! This was the first time the Optimization.Framework ever got a donation! :)

Lars

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

larsbeck

APMOD Program is online

by Lars on January 18, 2012

The APMOD program is now online!

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

The APMOD ‘Early Bird’ registration phase – just like the year 2011 – is coming to a close.

If you register before December 31st, you get your delegate ticket for 300 Euros or your student (BA/MA only) ticket for 120 Euros. In both cases you are saving 80 Euros compared to the regular price.

Below you can see a list of registration entitlements:

- Entry to all Conference Sessions
- Lunches (noon) during the 3 conference days
- Morning and afternoon teas and coffee daily
- 1 ticket to the Welcome Reception
- 1 ticket to the Conference Dinner
- Delegate Satchel
- Final Program and Abstract Book
- Free WiFi Access at the conference
- Free use of public transport during the conference

To register please visit: http://www.apmod.org/registration/

We would like to wish you and your family a Merry Christmas and a Happy New Year!

The APMOD Team

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter

larsbeck

GLPK for Optimization.Framework

by Lars on December 27, 2011

Today we released a new NuGet package, which allows you to use GLPK with the Optimization.Framework.

The great thing about this package is that
- it will also install the Optimization.Framework automatically
- it will install the precompiled assemblies of GLPK
- it configures the paths to the assemblies by changing your app.config file accordingly (at this point we assume that your process runs as a 64-bit process; if this is not the case, simply go to your app.config and change the path to the native assembly from x64 to x86)

This means, that you get a fully working C# modeling language including a precompiled and preconfigured free to use solver, so that you can start modeling right away.

This new package is licensed under the GPL, which basically means that you will most likely not use it for commercial products. The Optimization.Framework itself however will still be licensed as it has always been. So, you get to choose if you want the free one-stop package which forces you to publish your software under the GPL or if you want the version for which you need to get a Gurobi, Cplex or MOPS license but which you will still be able to use without adapting your own license.

The new package can be found via the NuGet package manager. Simply type “GPLK” in the search box. You can also go to this site and download the package manually: http://nuget.org/packages/Optimization.Solver.GLPK
If you want to fork the source code go to: https://github.com/larsbeck/Optimization.Solver.GLPKSolver

Merry Christmas and a Happy New Year everybody!

Lars

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MisterWong
  • MySpace
  • Netvibes
  • PDF
  • Twitter