[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Adding if/then/else statement to GMPL
From: |
Domingo Alvarez Duarte |
Subject: |
Re: Adding if/then/else statement to GMPL |
Date: |
Mon, 24 Aug 2020 17:14:25 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
Hello Heinrich !
That example was a silly one only to do a minimal check that the
add if/then/else was working (properly?).
My implementation doesn't seem to need much code and allow a bit
better expressiveness to GMPL.
Another example from examples/pentomino.mod:
Before:
====
for {i in 1..m}
{ for {j in 1..n}
{ for {0..0: (i,j) in R}
{ for {(c,ii,jj) in S: (i-ii,j-jj) in D[c] and x[c,ii,jj]}
printf " %s", substr(c,1,1);
}
for {0..0: (i,j) not in R}
printf " .";
}
printf "\n";
}
====
After:
====
for {i in M}
{ for {j in N}
{ if (i,j) in R then
{ for {(c,ii,jj) in S: (i-ii,j-jj) in D[c] and x[c,ii,jj]}
printf " %s", substr(c,1,1);
}
else
printf " .";
}
printf "\n";
}
====
Cheers !
On 24/8/20 16:59, Heinrich Schuchardt
wrote:
On 24.08.20 16:33, Domingo Alvarez Duarte wrote:
Hello Meketon !
Could you share your view of how it would be expressed (an ideal model
sample) ?
If you want to talk about it, maybe I'll be interested in implement it !
Can you share a collection of models data to be used as base for the
test/implementation ?
Dear Domingo,
I do not yet understand what was you weren't able to express with the
current syntax.
Instead of
if length(p) == 3 then display "true 3"; else display "false 3";
if length(p) == 5 then display "true 5"; else display "false 5";
you can write:
param p,symbolic := "dad";
display if length(p) == 3 then "true 3" else "false 3";
display if length(p) == 5 then "true 5" else "false 5";
solve;
end;
Best regards
Heinrich
- Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/23
- Re: Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/23
- Re: Adding if/then/else statement to GMPL, Andrew Makhorin, 2020/08/23
- RE: Adding if/then/else statement to GMPL, Meketon, Marc, 2020/08/24
- Re: Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/24
- Re: Adding if/then/else statement to GMPL, Heinrich Schuchardt, 2020/08/24
- Re: Adding if/then/else statement to GMPL,
Domingo Alvarez Duarte <=
- Re: Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/25
- Re: Adding if/then/else statement to GMPL, Heinrich Schuchardt, 2020/08/25
- RE: Adding if/then/else statement to GMPL, Meketon, Marc, 2020/08/24
- Re: Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/27
- Re: Adding if/then/else statement to GMPL, Andrew Makhorin, 2020/08/27
- Re: Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/27
- Re: Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/27
- Re: Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/29
- Re: Adding if/then/else statement to GMPL, Andrew Makhorin, 2020/08/29
- Re: Adding if/then/else statement to GMPL, Domingo Alvarez Duarte, 2020/08/30