Giter VIP home page Giter VIP logo

a-mdvrp's People

Contributors

albert1991 avatar michieluithetbroek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

a-mdvrp's Issues

Make the Cut base class compatible with Gurobi

The function Cut::getCuts uses the function Cut::createIloRange to translate vector<CutReturn> into vector<IloRange> such that the valid inequalities can be used by CPLEX. We should also add a function that translates our CutReturn objects into objects that can be used by Gurobi.

Do not forget to update the wiki page that describes how to use another solver as this now explains how to use Gurobi.

Generalize the function `Cut::getCuts` such that is works for multiple solvers without the need to edit the function (use templates)

The function Cut::getCuts now returns a vector of CPLEX cuts. If one wants to use Gurobi, then one has to edit the function Cut::getCuts because 1) we need another return type, and 2) we have to call Cut::createGurobiConstraint instead of Cut::createIloRange.

We may avoid this by making Cut::getCuts a template function with two specialized template values (i.e., CPLEX and Gurobi). To avoid that the new template function breaks with the current code we can set the default value of the template to CPLEX.

The function will then be called as

auto const cuts = cut_ptr->getCuts<CPLEX>(model.d_env, model.d_x, x_val, true);

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.