|
From: | Domingo Alvarez Duarte |
Subject: | Re: [Fwd: What is this format?] |
Date: | Tue, 26 Jan 2021 13:33:39 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
It seems to be a cplex OPL format.
After manually convert it to GMPL (see bellow) I'm getting a segfault with ubuntu 18.04 glpk distribution:
====
glpsol -m cplex2mpl.mod
GLPSOL: GLPK LP/MIP Solver, v4.65
Parameter(s) specified in the command line:
-m cplex2mpl.mod
Reading model section from cplex2mpl.mod...
Reading data section from cplex2mpl.mod...
73 lines were read
Generating result...
Generating cstTemps...
Generating cstPlanches...
Model has been successfully generated
GLPK Integer Optimizer, v4.65
3 rows, 5 columns, 15 non-zeros
5 integer variables, none of which are binary
Preprocessing...
1 row, 0 columns, 0 non-zeros
0 integer variables, none of which are binary
Scaling...
A: min|aij| = 1.000e+00 max|aij| = 1.000e+00 ratio =
1.000e+00
Problem data seem to be well scaled
Solving LP relaxation...
GLPK Simplex Optimizer, v4.65
1 row, 0 columns, 0 non-zeros
~ 0: obj = 1.491000000e+02 infeas = 0.000e+00
OPTIMAL SOLUTION FOUND
Integer optimization begins...
glp_add_cols: ncs = 0; invalid number of columns
Error detected in file api/prob1.c at line 362
Aborted (core dumped)
====
But with my fork at https://github.com/mingodad/GLPK it seems to work:
====
glpsol5 -m cplex2mpl.mod
GLPSOL: GLPK LP/MIP Solver, v4.65, glp_double size 8
Parameter(s) specified in the command line:
-m cplex2mpl.mod
Reading model section from cplex2mpl.mod...
73 lines were read
73 lines were read
Generating result...
Generating cstTemps...
Generating cstPlanches...
Model has been successfully generated
GLPK Integer Optimizer, v4.65
3 rows, 5 columns, 15 non-zeros
5 integer variables, none of which are binary
Preprocessing...
1 row, 0 columns, 0 non-zeros
0 integer variables, none of which are binary
Scaling...
A: min|aij| = 1.000e+00 max|aij| = 1.000e+00 ratio =
1.000e+00
Problem data seem to be well scaled
Solving LP relaxation...
GLPK Simplex Optimizer, v4.65
1 row, 0 columns, 0 non-zeros
~ 0: obj = 1.491000000e+02 infeas = 0.000e+00
OPTIMAL SOLUTION FOUND
Integer optimization begins...
Long-step dual simplex will be used
+ 0: mip = not found yet <= +inf
(1; 0)
+ 0: >>>>> 1.491000000e+02 <=
1.491000000e+02 0.0% (1; 0)
+ 0: mip = 1.491000000e+02 <= tree is empty 0.0%
(0; 1)
INTEGER OPTIMAL SOLUTION FOUND
Time used: 0.0 secs
Memory used: 0.1 Mb (118279 bytes)
Il faut fabriquer :
1.000000 objet(s) 1
1.000000 objet(s) 2
1.000000 objet(s) 3
1.000000 objet(s) 4
1.000000 objet(s) 5
Il faut fabriquer :149.100000
Model has been successfully processed
====
Manually converting to GMPL could be something like this:
====
param N integer;
param D;
param dureeJournee integer;
param planchesJournee integer;
set objets := {1..N};
param planches{objets} integer;
param duree{i in objets} := planches[i] / D;
param profit{objets};
var aFabriquer{objets} , >= 1, integer;
maximize result: sum{o in objets} profit[o]*aFabriquer[o];
s.t. cstTemps: sum{o in objets} duree[o]*aFabriquer[o] <=
dureeJournee;
cstPlanches: sum{o in objets} planches[o]*aFabriquer[o] <=
planchesJournee;
# une contrainte en plus: chaque objet est au moins fabriqu´e en 1
exemplaire
#auMoins1: forall(o in objets) aFabriquer[o] >= 1;
solve;
#display duree, planches, profit;
printf "Il faut fabriquer :\n";
printf{i in objets} "%f objet(s) %d\n", aFabriquer[i], i;
printf "Il faut fabriquer :%f\n", result;
data;
param N := 5;
param D := 3.4;
param dureeJournee := 8;
param planchesJournee := 40;
param planches := 1 4, 2 5, 3 8, 4 3, 5 7;
param profit := 1 12.6, 2 45.0, 3 8.0, 4 76.0, 5 7.5;
end;
====
-------- Forwarded Message -------- From: Alexandre Garreau <galex-713@galex-713.eu> To: help-glpk@gnu.org Subject: What is this format? Date: Tue, 26 Jan 2021 11:46:03 +0100 Hello, In my university, they use cplex for teaching linear programming, and I’d like not to install anything proprietary on my computer, but I have to figure out how to deal with the files given while only doc for cplex, which I don’t have and never used… Do you know what format this is? it uses “.mod” as an extension, apparently that’s what glpk uses for its own format… but in this case, it’s not isn’t it? I thought maybe free mps, but reading it with --freemps doesn’t work either. Here I attach a sample file, with the various errors I get: $ glpsol --freemps charpentier1.mod GLPSOL: GLPK LP/MIP Solver, v4.65 Parameter(s) specified in the command line: --freemps charpentier1.mod Reading problem data from 'charpentier1.mod'... charpentier1.mod:1: invalid indicator record MPS file processing error $ glpsol --glp charpentier1.mod GLPSOL: GLPK LP/MIP Solver, v4.65 Parameter(s) specified in the command line: --glp charpentier1.mod Reading problem data from 'charpentier1.mod'... charpentier1.mod:1: error: line designator missing or invalid GLPK LP/MIP file processing error $ glpsol --math charpentier1.mod GLPSOL: GLPK LP/MIP Solver, v4.65 Parameter(s) specified in the command line: --math charpentier1.mod Reading model section from charpentier1.mod... charpentier1.mod:1: syntax error in model section Context: / MathProg model processing error $ glpsol --lp charpentier1.mod GLPSOL: GLPK LP/MIP Solver, v4.65 Parameter(s) specified in the command line: --lp charpentier1.mod Reading problem data from 'charpentier1.mod'... charpentier1.mod:1: 'minimize' or 'maximize' keyword missing CPLEX LP file processing error $ glpsol --freemps -m charpentier1.mod GLPSOL: GLPK LP/MIP Solver, v4.65 Parameter(s) specified in the command line: --freemps -m charpentier1.mod Reading model section from charpentier1.mod... charpentier1.mod:1: syntax error in model section Context: / MathProg model processing error $ glpsol --glp -m charpentier1.mod GLPSOL: GLPK LP/MIP Solver, v4.65 Parameter(s) specified in the command line: --glp -m charpentier1.mod Reading model section from charpentier1.mod... charpentier1.mod:1: syntax error in model section Context: / MathProg model processing error $ glpsol --math -m charpentier1.mod GLPSOL: GLPK LP/MIP Solver, v4.65 Parameter(s) specified in the command line: --math -m charpentier1.mod Reading model section from charpentier1.mod... charpentier1.mod:1: syntax error in model section Context: / MathProg model processing error $ glpsol --lp -m charpentier1.mod GLPSOL: GLPK LP/MIP Solver, v4.65 Parameter(s) specified in the command line: --lp -m charpentier1.mod Reading model section from charpentier1.mod... charpentier1.mod:1: syntax error in model section Context: / MathProg model processing error
[Prev in Thread] | Current Thread | [Next in Thread] |