2017-02-14 45 views
2

この次の式の最大の報酬を得るために最適な動作を見つけようとしています。プログラムは実行されていますが、出力は入力と同じです。つまり、コードに問題があることを意味します。制約内でif文を定義する方法 - GAMS最適化

価格弾力性を定義しようとすると、特定の時間帯にピーク時とピーク時のオプティウムの価格表が必要になります。高いピークは16-23オクロックであり、低いピークは残りの時間です。私の質問は、制約内にifステートメントを定義することは可能ですか? (hpd)> 15)および(ord(hpd)< 23)).. P_H(hpd)= E = PHP; (hpd)= 22)).P_H(hpd)= E = PLP;(12)となる。

すべて

答えて

0

あなたはほぼあります。もし(ドル記号は基本的にifである)ならば、と書く必要はなく、条件式自体だけでなく、2番目の式と同じです。 2番目の式は、の代わりにまたはである必要があります。

小さなペットpeeve、私はセットはヴァルはあなたに集合要素の数値を与える1で起動しない場合ORDが乱雑につれて、代わりにORD().valを使用するようにしてください設定された要素が数値であると仮定します。

Con4(hpd)$(hpd.val>=16 and hpd.val<=22).. P_H(hpd) =E= PHP; 
Con5(hpd)$(hpd.val<16 or hpd.val>22).. P_H(hpd) =E= PLP; 
関連する問題