# Lehigh ISE / COR@L Lab Wiki

### Sidebar

#### Sample Pages

tutorial:cola_dietcola

# COLA (Conic Optimization using Linear Approximations) and DietCOLA (Discrete COLA)

## COLA

Cola solves Second Order Conic Optimization (SOCO) problems using outer linear approximations. It can be used as a standalone solver or as a library. Developed by Aykut Bulut and his advisor Ted Ralphs. Conceptual design is inspired by Aykut's commitee, Pietro Belotti, Julio C. Goez, Tamas Terlaky, Ted Ralphs and Luis Zuluaga. COLA is available in polyps (command cola). Source code of COLA is available on github.

### Design

Cola inherits OsiClpSolverInterface class of Coin-OR Osi project. It uses Clp to solve linear optimization problems.

### How to use cola

It is pretty straightforward. Just run 'cola input.mps'. Cola do not accept any options for now. It solves a conic mps file given as an argument.

## DietCOLA

DietCOLA (Discrete COLA) uses branch and bound to solve second order cone optimization problems. DietCOLA is available in polyps (command dietcola). Source code of DietCOLA is available on github.

### Installation

DietCOLA depends on COLA and ALPS. Once COLA and ALPS are installed and their .pc file is in your PKG_CONFIG_PATH, you can install DietCOLA by running “configure” and “make install”. DietCOLA uses pkg-config to locate its dependencies. COLA and DietCOLA are both installed in polyps (command cola and dietcola).

### Using DietCOLA

DietCOLA accepts inputs in extended mps format. See conic mps format for how to include cones in your mps files. Once DietCOLA is installed you can call the solver by “dietcola input.mps”. For now DietCOLA does not accept any options. You can also use DietCOLA as a library. For this you should create an instance of DcModel class. See DcMain.cpp for how to do this.

## Examples

To run cola in polyps on CBLIB problems you can use,

 cola /home/software/share/cblib2014/instances/mosek_mps/estein4_A.mps

to run DietCOLA you can use the following command;

 dietcola /home/software/share/cblib2014/instances/mosek_mps/estein4_A.mps

COLA and DietCOLA can also solve LP and MILP problems. When a given mps file does not have cones, COLA just reduces to CLP and DietCOLA does a branch and bound search solving LP problems at each node. You can check this with;

 cola /home/software/share/miplib3/10teams.mps
 dietcola /home/software/share/miplib3/enigma.mps

COLA solves the LP relaxation of the problem (problem 10teams includes discrete variables).

tutorial/cola_dietcola.txt · Last modified: 1998/12/03 12:11 (external edit)