How to: Configure IBM CPLEX with Apple Xcode

In this tutorial I will describe how to configure Apple Xcode to use IBM CPLEX with Concert technology in a C++ project. This tutorial assumes you already have CPLEX installed. If this is not the case, follow the How to Download and Install a full version of CPLEX (for Mac, obviously).

First, start Xcode and select “Create a new Xcode project”. This is also available from the File menu.

1

Continue reading

How to: Configure MS Visual Studio to use IBM CPLEX Concert

In this tutorial I will describe how to configure Microsoft Visual Studio Express to use IBM CPLEX with Concert technology in a C++ project. This tutorial assumes you already have CPLEX installed. If this is not the case, follow the How to Download and Install a full version of CPLEX. If you’re looking for how to use CPLEX with Apple Xcode, follow the How to configure IBM CPLEX with Apple Xcode.

First, open MS Visual Studio and start a new C++ console application. You might want to see How to Install Visual Studio and Create a C++ project.

When your project is created, right click “Project” and select “Properties”.

properties

Continue reading

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 z = x \times y, where z, x and y 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