2015-06-16 6 views
1

Я хочу сделать линейное программирование с Lingo, у меня есть решение, но я хочу улучшить код.Линейное программирование в Lingo

Вот что я хочу сделать:

SETS: 
SEMANA/ 1..12/: D, X, I, Y, Z, R, n; 
ENDSETS 

X(1)>=D(1); 

X(2)+I(1)>=D(2); 

X(3)+I(2)>=D(3); 

X(4)+I(3)>=D(4); 

X(5)+I(4)>=D(5); 

X(6)+I(5)>=D(6); 

X(7)+I(6)>=D(7); 

X(8)+I(7)>=D(8); 

X(9)+I(8)>=D(9); 

X(10)+I(9)>=D(10); 

X(11)+I(10)>=D(11); 

X(12)+I(11)>=D(12); 

Я попробовал этот вариант, но есть ошибка, которая говорит: Подстрочный из диапазона от атрибута I.

@FOR (SEMANA(j): 

X(j)+ I(j-1)>= D(j)) ; 

I(j-1) вне поэтому я не могу решить проблему.

Спасибо

ответ

0

Обратите внимание, что ваш код будет пытаться попасть в I (0), если у = 1. I (0) не определяется, и именно поэтому это проблема вне диапазона.