help-glpk
[Top][All Lists]
Advanced

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

Re: [Help-glpk] piecewise linear function


From: Andrew Makhorin
Subject: Re: [Help-glpk] piecewise linear function
Date: Thu, 15 Feb 2018 23:31:54 +0300

On Thu, 2018-02-15 at 21:21 +0100, Heinrich Schuchardt wrote:
> Hello Giovanni,
> 
> please, read doc/gmpl.pdf which comes with the GLPK source.
> 
> The <<>> syntax may exist in AMPL but it does not exist in GMPL.
> 
> Depending on your piecewise linear function being concave or convex
> you can replace it with some linear constraints or you will have to
> introduce extra binary variables.

Please see http://en.wikibooks.org/wiki/GLPK/Modeling_tips .

> 
> Best regards
> 
> Heinrich
> 
> Am 15.02.18, 21:10, Giovanni Di Stasi <address@hidden>
> schrieb:
>         I am trying to use such functions but I get a syntax error. 
>         In particular, this is my program, taken by the following book
>         chapter:
>         
>         
>         https://ampl.com/BOOK/CHAPTERS/20-piecewise.pdf
>         
>         
>         
>         set ORIG; # origins
>         set DEST; # destinations
>         param supply {ORIG} >= 0; # amounts available at origins
>         param demand {DEST} >= 0; # amounts required at destinations
>         check: sum {i in ORIG} supply[i] = sum {j in DEST} demand[j];
>         param rate1 {i in ORIG, j in DEST} >= 0;
>         param rate2 {i in ORIG, j in DEST} >= rate1[i,j];
>         param rate3 {i in ORIG, j in DEST} >= rate2[i,j];
>         param limit1 {i in ORIG, j in DEST} > 0;
>         param limit2 {i in ORIG, j in DEST} > limit1[i,j];
>         var Trans {ORIG,DEST} >= 0; # units to be shipped
>         minimize Total_Cost: sum {i in ORIG, j in DEST}
>         <<limit1[i,j], limit2[i,j];
>         rate1[i,j], rate2[i,j], rate3[i,j]>> Trans[i,j];
>         subject to Supply {i in ORIG}:
>         sum {j in DEST} Trans[i,j] = supply[i];
>         subject to Demand {j in DEST}:
>         sum {i in ORIG} Trans[i,j] = demand[j];
>         
>         
>         
>         
>         When I try to make glpk parse it, I get the following error:
>         
>         
>         glpsol --model glpk/Test --data /tmp/DATAg5ZQ0L
>         -w /tmp/OUTXlm0ST
>         GLPSOL: GLPK LP/MIP Solver, v4.61
>         Parameter(s) specified in the command line:
>          --model glpk/Test --data /tmp/DATAg5ZQ0L -w /tmp/OUTXlm0ST
>         Reading model section from glpk/Test...
>         glpk/Test:14: syntax error in expression
>         Context: ...>= 0 ; minimize Total_Cost : sum { i in ORIG , j
>         in DEST } <
>         MathProg model processing error
>         
>         
>         
>         
>         I really have no clue as of now.
>         
>         
>         Thanks
>         
>         
>         
>         
>         
>         _______________________________________________ Help-glpk
>         mailing list address@hidden
>         https://lists.gnu.org/mailman/listinfo/help-glpk
> _______________________________________________
> Help-glpk mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/help-glpk





reply via email to

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