Coder Social home page Coder Social logo

tkralphs / cgl-conic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aykutbulut/cgl-conic

0.0 2.0 0.0 631 KB

Extends COIN-OR Cut Generation Library (CGL) with strategies for conic problems.

License: Eclipse Public License 1.0

C++ 30.11% Shell 34.46% Makefile 33.96% M4 1.47%

cgl-conic's Introduction

CGL-Conic Build Status

CGL-Conic is library for generation of conic cuts for Mixed Integer Second Order Conic Optimization (MISOCO) problems. CGL-Conic can be considered as a generalization of COIN-OR's Cut Generation Library (CGL).

CGL-Conic depends on CGL and other COIN-OR projects. CGL-Conic implements the following cut procedures,

  • Disjunctive Cuts given by Belotti et. al., see related paper
  • Conic mixed-integer rounding cuts by Atamturk and Narayanan, see related paper
  • Outer approximation cuts, related paper to be published soon.
  • Interior Point Method (IPM) approximation cuts, related paper to be published soon.

Cut procedures that are considered for implementation.

  • Two-term disjunctions on the second-order cone by Karzan and Yildiz, see [related paper][Karzan Yildiz 2015]
  • Cuts for 0-1 mixed convex programming by Stubbs and Mehrotra, see related paper.
  • Cuts for mixed 0-1 conic programming by Cezik and Iyengar, see related paper

CGL-Conic is used by DisCO to solve MISOCO problems.

Installing CGL-Conic

Basic installation

CGL-Conic is tested/works in Linux environment only for now. You can use COIN-OR BuildTools fetch and build utility for building and installing CGL-Conic. After cloning CGL-Conic, typing following commands should work.

git clone --branch=stable/0.8 https://github.com/coin-or-tools/BuildTools
bash BuildTools/get.dependencies.sh fetch
bash BuildTools/get.dependencies.sh build

First command clones BuildTools, second fetches CGL-Conic dependencies and third builds/installs GGL-Conic.

Advanced Users

CGL-Conic can find dependencies using pkg-config. If your .pc files are at your PKG_CONFIG_PATH CGL-Conic configure script will find them. Running make install should work once the configure script is successful.

Specifying an IPM Solver

Some cut implementations in CGL-Conic depends on solving SOCO problems using IPM method. You can specify the solver to use for this purpose. CGL-Conic uses Ipopt by default. You can use Cplex1 or Mosek2 through their OsiConic interface.

To specify the solver, you need to give --with-ipm-solver flag to configure script. For example, following command configures OSI-Conic with Mosek.

./configure --with-ipm-solver=mosek

Similarly you can use cplex or ipopt instead of mosek. If no IPM solver is specified CGL-Conic will use Ipopt.

cgl-conic's People

Contributors

aykutbulut avatar tkralphs avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.