Skip to main content
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 ...
mattmilten's user avatar
  • 1,703
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 ...
RobPratt's user avatar
  • 33.5k
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.
fontanf's user avatar
  • 2,673
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 ...
kur ag's user avatar
  • 835
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 ...
arun's user avatar
  • 46
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 ...
Kuifje's user avatar
  • 13.7k
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 ...
prubin's user avatar
  • 40.1k
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 ...
prubin's user avatar
  • 40.1k
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
  • 40.1k
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 (...
xd y's user avatar
  • 1,206
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: ...
A.Omidi's user avatar
  • 9,248
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 ...
A.Omidi's user avatar
  • 9,248
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 ...
Brannon's user avatar
  • 930
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 ...
Alberto Santini's user avatar
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)...
prubin's user avatar
  • 40.1k
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 ...
prubin's user avatar
  • 40.1k
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
  • 40.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
  • 411
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 ...
prubin's user avatar
  • 40.1k
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 ...
Unique's user avatar
  • 31
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.
Lucas Araujo's user avatar
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: ...
4er's user avatar
  • 628

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