2017-01-16 2 views

ответ

0

Собственно, вы можете просто использовать «break;» в GAMS. Перерыв и продолжение были введены с версией 24.8.1 (http://www.gams.com/latest/docs/releasenotes/24.8.html#g2481_GAMS). Так это работает:

set i /i1*i3/; 
scalar cnt /0/; 

loop(i, 
    cnt = cnt+1; 
    display cnt; 
    break; 
); 

пс: В качестве альтернативы (который также работал с более старой версией ГАМС), вы можете использовать $ -условию, как это, чтобы получить такое же поведение, как описано выше:

set i /i1*i3/; 
scalar cnt /0/, run /1/; 

loop(i$run, 
    cnt = cnt+1; 
    display cnt; 
    run = 0; 
); 
Смежные вопросы