That makes sense. I'm not sure it will make a difference, given that the objective function is a constant, but it might induce CPLEX to turn up the use of heuristics. Speaking of which, you might want to crank up the heuristic frequency parameter(s).
Original Message:
Sent: Fri February 09, 2024 07:54 AM
From: Marcus Garvie
Subject: Choosing an LP method in CPLEX
Thank you. I thought I should choose MIP emphasis 1 because I don't have an objective function and so there is no point asking CPLEX to 'balance feasibility with optimality' (i.e. focusing on feasibility is appropriate).
------------------------------
Marcus Garvie
Original Message:
Sent: Thu February 08, 2024 11:17 PM
From: Paul Rubin
Subject: Choosing an LP method in CPLEX
If by "pure" you mean consistently using the specified algorithm, then yes, but with a caveat. Certain things (giving a MIP start, using the RINS heuristic, solution polishing) will cause CPLEX to work on what it calls "subMIPs", which I guess are subsidiary MIPs (not the node subproblems). There are separate parameters to control which algorithms are used on subMIPs: `set mip submip startalg` for the root of the subMIP and `set mip submip subalg` for the node subproblems of the subMIP. If you don't provide a MIP start and you turn off solution polish, RINS and local branching via parameters, you may not need to futz with those parameters (but you may also slow down the solver).
I'm not sure why you would need MIP emphasis 1, but that's entirely up to you.
------------------------------
Paul Rubin
Professor Emeritus
Michigan State University
Original Message:
Sent: Thu February 08, 2024 08:13 PM
From: Marcus Garvie
Subject: Choosing an LP method in CPLEX
Hi Paul.
Great, so by setting these two choices the same I can either solve my problem via a pure barrier method or a pure simplex method? (I guess I should also choose 'set emphasis mip 1'.
Best,
Marcus.
------------------------------
Marcus Garvie
Original Message:
Sent: Thu February 08, 2024 06:12 PM
From: Paul Rubin
Subject: Choosing an LP method in CPLEX
If this is a MIP rather than an LP, I think you will want to use "set mip strategy startalgorithm" (solution method for the root node) and "set mip strategy subalgorithm" (solution method used for node LPs). You can use the same method for both but are not obligated to do so.
------------------------------
Paul Rubin
Professor Emeritus
Michigan State University
Original Message:
Sent: Thu February 08, 2024 04:38 PM
From: Marcus Garvie
Subject: Choosing an LP method in CPLEX
Hi everyone,
I've been solving some Integer Linear Programming (ILP) problems in the LP file format using CPLEX 12.10. My problems are pure feasibility problems as there is no objective function. I've been working on methods that reduce the number of unknowns in the ILP problems with a consequent (hopefully) reduction in CPLEX solve times. To show consistent trends I wanted to get results for different methods in CPLEX. It seems reasonable to compare a Simplex method with an interior point method, e.g., the barrier method. Are the following command line arguments correct for selecting these methods?
CPLEX> set lpmethod 4 ('barrier')
and
CPLEX> set lpmethod 2 ('dual simplex')
So once I have set either the barrier or the dual simplex method are these methods used exclusively? I.e., hopefully, CPLEX doesn't choose to change solution strategies once a method has been set? The reason I ask is that the solution times seem very similar for both methods. As the methods are very different I would have thought the solution times would be quite different. By the way: I did think of trying to show the trends by running my experiments in both CPLEX and Gurobi, but I can't seem to get consistent trends in Gurobi (i.e., just because I have greatly reduced the number of unknowns in an ILP problem doesn't necessarily lead to reduced solve times).
Thank you for any advice you can provide.
Marcus Garvie.
------------------------------
Marcus Garvie
------------------------------