2017-05-23 11 views
0

は、だから私はこのコードを実行したい:は、予期しない構文エラーFORALL

constraint ctMachine[Machine]; 
subject to{ 
forall(i in Machine) 
    forall (k in Week) 
    ctMachine[i]: sum(j in Product) 
    ResourceConsumption[i][j] * Units[j][k] <= Capacity[i]; 

をしかし、私はこれを行う場合、私は理にかなってctMachineは、[1]はすでに割り当てられていたというエラーを取得します。だから私は、次のようにsum関数の後に2番目のforループを置こうとしました:

constraint ctMachine[Machine]; 
subject to{ 


forall(i in Machine) 
    ctMachine[i]: sum(j in Product) 
    forall(k in Week) 
    ResourceConsumption[i][j] * Units[j][k] <= Capacity[i]; 

しかし、私は予期しないforallを受け取ります。しかし、どうすればそれをやることができますか?私はすべてのkのconstranintが必要です。私は線形計画とOPLにかなり新しいですので、私は今これをどのように解決できるかという手がかりはありません。 Btw私もそれが必要なので、制約ラベルを削除することはできません。

答えて

0

私は

制約ctMachine [マシン]を削除します。


ctMachine(Iマシンで)FORALL

を書く:[ 合計(製品でJ)
合計(週におけるk) ResourceConsumption [I] [J] *ユニットj] [k] < =容量[i]。

関連する問題