How to: Download and install IBM ILOG CPLEX Optimization Studio (Windows)

In this tutorial I will describe how to download and install a full version of IBM ILOG CPLEX Optimization Studio 12.6.1 (the latest version as of now – May 2015).

IBM gives scholars and university researchers free access to its software and systems. This support to our academic research is greatly appreciated. You need to register and apply for the IBM Academic Initiative program, through IBM Academic Initiative.

When you receive the confirmation of your eligibility, you can login and click on “Access IBM software and systems”, which will allow you to search for whatever IBM product you want. Here, I was looking for “CPLEX”. A list of CPLEX versions appears in the pop-up list, I clicked on CPLEX 12.6.1, the latest one.

Continue reading

Linearization of the product of two variables

Often when writing a model, the most straightforward way of writing a constraint is by multiplying two variables. Then, in order to solve the model we need to linearize it. There comes the problem, as I always have problems reminding how to linearize a product of variables.

Linearizing the product of two binary variables

Suppose your model has the product , where , and are binary. There is an easy way of linearizing that equation. Add the three inequalities below

Continue reading

My default LaTeX article template

When preparing a new LaTeX manuscript, we often do not know to which journal it will be submitted. Then we need a nice style to present the content. Likewise to reports and the likes.

LaTeX offers its amsarticle document class, which is generally good. I mean generally because it can (and should) be improved to meet one’s needs.

My needs are satisfied with the following template, which modifies the margins and adds my usually needed packages.

Continue reading

Installing Concorde TSP with CPLEX in Linux

Concorde TSP is one of the best solvers for the Traveling Salesman Problem. Its current version was released in 2003, but it is still considered to be the state of the art in its field.

CPLEX is a general purpose solver. It is also considered to be one of the best in its class.

In order to obtain exact solutions with Concorde, one needs to link it to a solver. However, Concorde’s documentation falls short, since in 2003 CPLEX’s version was 8.0, and it is currently under version 12.5 (as of november 2012).

In order to link and compile Concorde with CPLEX, you will need to make the following modifications:

Continue reading