help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fwd: What is this format?]


From: Domingo Alvarez Duarte
Subject: Re: [Fwd: What is this format?]
Date: Tue, 26 Jan 2021 16:12:24 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Where is GLPK 6.0 available ?

It's the first time I hear of it, and it's not available at https://ftp.gnu.org/gnu/glpk/ .

On 26/1/21 15:57, Andrew Makhorin wrote:
On Tue, 2021-01-26 at 13:33 +0100, Domingo Alvarez Duarte wrote:
It seems to be a cplex OPL format.
After manually convert it to GMPL (see bellow) I'm getting a segfault
This bug has been fixed in glpk 6.0.

FYI: https://lists.gnu.org/archive/html/bug-glpk/2020-07/msg00009.html




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;
====
On 26/1/21 12:00, Andrew Makhorin wrote:
-------- 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]