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: Andrew Makhorin
Subject: Re: [Fwd: What is this format?]
Date: Tue, 26 Jan 2021 20:06:27 +0300

On Tue, 2021-01-26 at 16:12 +0100, Domingo Alvarez Duarte wrote:
> Where is GLPK 6.0 available ?


Sorry, I meant 5.0 :)


> 
> 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.ht
> > ml
> > 
> > 
> > 
> > 
> > > 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]