Hello Julian !
Meanwhile I implemented read/write OBJSENSE for freemps format on my
fork of GLPK with several extensions and here
https://github.com/mingodad/GLPK/actions/runs/2324178367 you can find
the binaries built with github actions to try.
With your proposed example the solution is the same on both, and here is
the generated freemps:
====
* Problem: simple_max
* Class: LP
* Rows: 3
* Columns: 2
* Non-zeros: 6
* Format: Free MPS
*
NAME simple_max
OBJSENSE MAX
ROWS
L Constraint1
L Constraint2
N Objective
COLUMNS
x Constraint1 1 Constraint2 3
x Objective 1
y Constraint1 2 Constraint2 1
y Objective 1
RHS
RHS1 Constraint1 15 Constraint2 20
ENDATA
====
Cheers !
On 14/5/22 11:33, Julian Hall wrote:
When using glpsol (GLPSOL: GLPK LP/MIP Solver, v4.65) for the attached
.mod file thus
|glpsol -m simple_max.mod --w||freemps simple_max.mps|
I get the (correct) output
*
|0: obj = -0.000000000e+00 inf = 0.000e+00 (2) |
*
|2: obj = 1.000000000e+01 inf = 0.000e+00 (0) |
OPTIMAL LP SOLUTION FOUND
but the (attached) MPS file is set up for the default sense
(minimization). Thus, when running
|glpsol simple_max.mps|
I get the output
*
|0: obj = 0.000000000e+00 inf = 0.000e+00 (0) |
OPTIMAL LP SOLUTION FOUND
The same happens if --wmps is used.
When writing out the MPS file glpsol must either
* Use the OBJSENSE section (preferably)
OBJSENSE
MAX
* Negate the objective coefficients - although this yields the wrong
sign of the objective function and duals
How can this bug in glpsol be fixed?
Thanks,
Julian
--
Dr. J. A. Julian Hall, Reader, School of Mathematics,
University of Edinburgh, James Clerk Maxwell Building,
Peter Guthrie Tait Road, EDINBURGH, EH9 3FD, UK.
Room: 5418 Phone: [+44](131) 650 5075 Email: [email protected]
Web:
https://www.maths.ed.ac.uk/school-of-mathematics/people/a-z?person=47
HiGHS <http://www.highs.dev>
My working hours may not be your working hours. Do not feel pressure
to reply to this email outside your working hours.
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336. Is e buidheann
carthannais a th’ ann an Oilthigh Dhùn Èideann, clàraichte an Alba,
àireamh clàraidh SC005336.