2012-01-26 15 views
0

私はこれらの式を書きたい:ガンマ方程式を書く方法?

X21+X22+X23+X24=55 
    X11+X12+X13+X14=90 
    X11+X21<=H1*Y11+H2*Y21+H3*Y31 

私はSUM関数を使用する必要があります知っているが、私はまさにそれを知らない が、私はそれらを変換することはできません。 式のセクションに書くにはどうすればいいですか?ここ は、私のコードの一部です:

SETS 
i regions /shomal,jonub/ 
j cities /shiraz,esfahan,hamedan,yazd/ 
k palaieshgahha /p1,p2,p3/; 

PARAMETERS 
     Y(k,j) pk Ntekhab shavad ia nashavad /1,0/ 
     S(k) sarmaieye avalie /400000,600000,950000/ 
     H(k) zarfiate palaieshgah /20,35,50/; 

Table c(i,j) cost 1milion boshke b milion rial 
        shiraz esfahan hamedan yazd 
     shomal   120  90   75  80 
     jonub   45   65   110 95; 

VARIABLES 
     X(i,j) tedad milion boshke 
     Y(k,j)  Ntekhabe palaieshgah 
     Z  total cost; 
POSITIVE VARIABLE X ; 
EQUATIONS 
//I have problem here 
+0

どのようなプログラミング言語ですか? –

答えて

0

は試してみてください。

EQUATIONS 

eqn1 First Equation 
eqn2 Second Equation 
eqn3 Third Equation; 

eqn1.. sum(j, X('jonub', j)) =e= 55; 

eqn2.. sum(i, X('shomal', i)) =e= 90; 

eqn3.. X('jonub', 'shiraz') + X('jonub', 'shiraz') =le= H('p1') * Y('shomal','shiraz') + ... ; 
1

rafaelcidadeの答えはいくつかの修正が 代わりの

eqn2.. sum(i, X('shomal', i)) =e= 90; 

eqn2.. sum(j, X('shomal', j)) =e= 90; 
でなければなりませんがすなわち必要

、代わりに

eqn3.. X('jonub', 'shiraz') + X('jonub', 'shiraz') =le= H('p1') * Y('shomal','shiraz') + ... ; 

が質問に別の観察はあなたということです別のオプションは、

Parameter val(i) = /55,90/; 
Equations eqn_block1(i) 'first block of equations'; 
eqn_block1(i).. sum(j,X(i,j)) =e= val(i); 

として、私は最初の二つの式を定義する一連の方程式のセットを定義です

eqn3.. sum(i,x(i,'shiraz') =le= sum(k,H(k)*Y(k,'shiraz')); 

をする必要がありますパラメータと変数の両方としてYを定義します。また、間違っているかどうかわからないパラメータの2つの値を定義しましたが、残っていない値がゼロになる場合もあります。

とにかく、Yの値が分かっていれば、変数として定義するべきではありません。 次のチュートリアルでは、合計と詳細を含む別の例を見つけることができます http://www.gams.com/dd/docs/gams/Tutorial.pdf

関連する問題