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 ...
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 ...
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)
...
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 ...
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 ...
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 ...
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....
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$ ...
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. ...
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 ...
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 ...
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
c++ × 55cplex × 18
gurobi × 13
mixed-integer-programming × 12
or-tools × 10
constraint-programming × 9
optimization × 8
benders-decomposition × 7
linear-programming × 4
modeling × 4
python × 4
callback × 4
combinatorial-optimization × 3
stochastic-programming × 3
cp-sat × 3
scheduling × 2
graphs × 2
column-generation × 2
metaheuristics × 2
implementation × 2
parallel-computing × 2
branch-and-price × 2
integer-programming × 1
solver × 1
reference-request × 1