2014-10-15 5 views
1

Привет, друзья оптимизаторы!AMPL: Подстрочный код

У меня возникли некоторые проблемы со следующим ограничением:

#The supply at node i equals what was present at the last time period + any new supply and  subtracted by what has been extracted from the node.  
subject to Constraint1 {i in I, t in T, c in C}: 
    l[i,t-1,c] + splus[i,t] - sum{j in J, v in V, a in A} x[i,j,v,t,c,a]= l[i,t,c]; 

что, естественно, вызывает это ограничение, чтобы обеспечить ОШИБКИ первый раз, когда он закругляется, как т-1 не определена (для меня, л [ я, 0, с] не определен Где

var l{I,T,C} >= 0; # Supply at supply node I in time period T for company C. 
    param splus{I,T};  # Additional supply at i. 
    var x{N,N,V,T,C,A} integer >= 0; #Flow from some origin within N to a destination within N using vehicle V, in time T, for company C and product A. 

и установить T; (в .mod) представляет собой набор определяется как:.

set T := 1 2 3 4 5 6 7; in the .dat file 

Я пытался:

subject to Constraint1 {i in I, t in T: t >= 2, c in C}: 
all else same 

который получил синтаксическую ошибку. Я также попытался включить "Пусть L [1,0,1]: = 0" для всех возможных комбинаций, которые получили мне ошибку

error processing var l[...]: 
    no data for set I 

Я также попытался

subject to Constraint1 {i in I, t in T, p in TT: p>t, c in C}: 
    l[i,t,c] + splus[i,p] - sum{j in J, v in V, a in A} x[i,j,v,p,c,a]= l[i,p,c]; 

где

set TT := 2 3 4 5 6; 

в .dat файле (и просто установить TT; в .mod), который также дал ошибки. Кто-нибудь знает, как это сделать?

ответ

1

Один из способов исправить это указать условие t >= 2 в конце выражения индексирования:

subject to Constraint1 {i in I, t in T, c in C: t >= 2}: 
    ... 

Смотрите также Section A.3 Indexing expressions and subscripts для получения более подробной информации о синтаксисе индексации выражений.

+0

Попробуй это завтра, когда у меня будет компьютер. Было бы несколько смешно в том смысле, что я пробовал то же самое, но в другом месте. Хехе. Спасибо за Ваш ответ! – Cenderze

 Смежные вопросы

  • Нет связанных вопросов^_^