5
votes
Is there any information on why ibm is not releasing a new version of cplex?
Most CPLEX developers left IBM in the recent years and went on to develop other solvers like Gurobi or Xpress. It is unlikely that there will be a new release of CPLEX including significant feature ...
5
votes
Accepted
Replace the constraint using ==> by a linear formulation
You want to enforce the logical implication
$$t \le \text{Fin}[j] \implies \text{Act}[j,t] \ge \text{Act}[j,t-1]$$
Equivalently, the contrapositive is
$$\text{Act}[j,t] < \text{Act}[j,t-1] \implies ...
4
votes
How to turn off tree search in fico xpress ? Couldn't see relevant documentation
Use MAXNODE option to limit the tree search.
You might also try setting HEURSEARCHROOTCUTFREQ to 1 to run heuristics between each cutting plane round.
4
votes
Accepted
Non-proprietary (Python friendly) alternatives to Cplex and Gurobi
You can use HiGHS, SCIP and CBC solvers with using PYOMO or other Pyomo supported solvers. Also you can use google or-tools CP solver if you write CP model, google CP solver is very powerfull. PYOMO ...
3
votes
Accepted
CPLEX 20.1.0.0 and python version 3.10
No. This is not possible.
You could check the detailed system requirements of CPLEX from this page. There is a pre-requisites tab after selecting the version and OS. There you would find the python ...
3
votes
Accepted
Convex equivalent of a constraint
If $a_1$ and $a_2$ are binary, then $y=(a_1 - a_2)^2$ is also binary.
More precisely:
$$
a_1 \wedge a_2 \implies \neg y \quad \equiv \quad \neg(a_1 \wedge a_2) \vee \neg y \quad \equiv \quad \neg ...
3
votes
Accepted
What does a solver do with a MIP warmstart solution?
Besides getting the initial primal bound provided by the (feasible) starting solution, one possible use for a warm start is to seed a heuristic that looks for an even better feasible solution.
Given a ...
2
votes
Accepted
CPLEX Working Memory
I will confess that I am speculating here, since I am not privy to the inner workings of CPLEX. This may tie to your node selection strategy, which I assume is not depth-first. When CPLEX needs to ...
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
Convex equivalent of a constraint
Introduce $d(e) \in \{0, 1\}$(or $[0, 1]$), $\forall e$.
$$
\begin{aligned}
-d(e) \leq a_1(e) - a_2(e) &\leq d(e)\\
\sum_e d(e) &\leq M
\end{aligned}
$$
Notice that we only need $d(e) \geq (...
2
votes
How to obtain nodes count and nodes left in docplex (using CPLEX 12.20 and Python 3.8)
I think what you want can be seen in the CPLEX log as follows:
...
2
votes
Accepted
Info callback in CPLEX OPL
I am not aware of if informational callbacks can be invoked directly via OPl-CPLEX the same as the low-level programming language. For more details, you can check ...
2
votes
Is there any information on why ibm is not releasing a new version of cplex?
AFAIK, no one is working on it at present. I don't expect any updates. My details are all second-hand, so I won't post them here. If you need a (fast) supported solver with branching/tableau callback ...
1
vote
Optimizing calls to a separation problem in branch and cut
As far as I understand, you have a branch-and-cut algorithm that separates valid inequalities for integer and fractional solutions. The cuts you separate are valid and improve the quality of the ...
1
vote
Optimizing calls to a separation problem in branch and cut
Are you solving the separation problem inside a generic callback? If so, CPLEX will solve the problem once per call to the callback (or less, if the callback sometimes chooses not to solve the problem)...
1
vote
Exception from IBM ILOG CPLEX: CPLEX Error 5002: 'q1' is not convex.->
You did not identify the variables in your model. Presumably X is a variable. If either M_T or Consumption_M_T_R is a variable, then your objective function is a nonconvex quadratic function. If any ...
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
Cplex no solution but no conflict
Finding a conflict in CPLEX is a two step process. First you have to instruct CPLEX to "refine" the conflict; then you have to ask it for the results (the constraints and variable bounds ...
1
vote
Benders Decomposition using Cplex
To my best knowledge, there is not such option. What you can do, is to set the number of threads to be used, and to set the parallel mode (deterministic or opportunistic). CPLEX will figure out the ...
1
vote
Ways to improve lower bounds while solving MIPs
There are serveral strategies.
I recomend Lagrangian and Surrogate relaxation.
Look for James Davis video "2.6 lagrangian relaxation". I guess it would help.
1
vote
How to formulate case distinctions in AMPLs objective function?
You can express this objective using AMPL's builtin if-then-else expression. I think the following corresponds to what you want to write:
...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
cplex × 272mixed-integer-programming × 84
optimization × 39
linear-programming × 37
python × 36
solver × 36
gurobi × 29
docplex × 27
modeling × 22
benders-decomposition × 19
c++ × 19
cplex-python-api × 19
callback × 17
integer-programming × 15
pyomo × 14
opl × 13
constraint × 11
gams × 11
linearization × 10
scheduling × 10
constraint-programming × 10
warm-start × 9
combinatorial-optimization × 8
quadratic-programming × 8
java × 8