3 votes
Accepted

Is an insanely high number of feasibility cuts normal while solving a VRP with Benders?

You usually use Benders decomposition when a large number of variables and linking constraints can somehow be removed without significantly affecting the structure of your problem. In your case, you ...
Claudio Contardo's user avatar
3 votes
Accepted

Tips for implementing Benders Decomposition in C++?

Recent versions of CPLEX (12.7 or later) have built in support for Benders. You can let CPLEX decide what to put in the master problem and what goes in the subproblems, or you can use annotations to ...
prubin's user avatar
  • 39.1k
2 votes
Accepted

Which data type is best used when programming an optimization problem in C++?

There is no definitive answer and it depends on: your background the nature / characteristic of your problem the nature / characteristic of your implementation (proof of concept; deployed software) ...
sascha's user avatar
  • 505
2 votes
Accepted

Using CPLEX in C++, how can I efficiently alter the objective function and then resolve the problem?

In your current code, benefitOfZ is a scalar constant and Z[i] is a scalar variable. To use ...
prubin's user avatar
  • 39.1k
2 votes

Linear Optimization Library for C++ with GPU Support

As mentioned, both simplex method and barrier method don't suit GPUs. However, recently Google successfully gives a first-order method PDLP[1]. By using tricks like restarting, the performance of PDLP ...
xd y's user avatar
  • 1,196
1 vote
Accepted

How to deal with performance bottlenecks in Stochastic Vehicle Routing Problem with Benders' decomposition?

Calling cplex.solve() after modifying the model restarts the solver from the root node. Using callbacks would allow you to modify the model and then pick up from where you left off, so long as the ...
prubin's user avatar
  • 39.1k
1 vote

custom branch and bound on cplex or GAMS

It seems BranchCallback function in cplex. I provide the introduction about BranchCallback on the official website and I did a very simple example by using VS C++ as well. Cplex website https://www....
ytsao's user avatar
  • 386
1 vote
Accepted

How do I check convergence in stochastic Benders?

Let the objective of the master problem (the first-stage problem of stochastic programming) be \begin{align} \text{Minimize}~ cx + \frac{1}{|S|} \sum_{s \in S} \theta_s \end{align} where $\theta_s$ ...
Penghui Guo's user avatar
1 vote

Which data type is best used when programming an optimization problem in C++?

I would suggest taking a look at the C++ source code examples that ship with CPLEX Optimization Studio. Then have a look at the documentation for the C++ API, specifically for the optim.concert group. ...
prubin's user avatar
  • 39.1k
1 vote
Accepted

Are there any hidden differences in OR-Tools' default parameters for a MIP model in Python vs C++?

As explained on or-tools-discuss, model_builer and MPSolver use 2 different sets of parameter s. In particular the tolerances ans the gaps. I recommend using settings the same solver specific ...
Laurent Perron's user avatar
1 vote

Tips for implementing Benders Decomposition in C++?

For example, If your problem is two-stages stochastic programming, then you can separate your problem into master problem and sub-problem by your hands. Then you can use CPLEX to model both stages in ...
ytsao's user avatar
  • 386
1 vote
Accepted

Graphs arcs on AMPL C++ API

In the API examples there is one with nodes, links and costs (https://ampl.com/api/latest/cpp/examples.html#example-4-operate-with-multidimensional-data) that is very similar to what you are trying to ...
fdabrandao's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible