2012-04-25 12 views
4

私はこれが誰かにとって明らかであることを望みます。私は、GLPK/MathProgのバニラ使用しかありませんでした。 私は、たとえば、次の操作を実行するトラブル(GLPK以内)GNU MathProgで構文を考え出すを持っています:GLPK MathProgのセットとグループ

set PartsOfWeek; 
set WeekDays; 

data; 
set PartsOfWeek := WorkWeek WeekEnd; 

set WorkWeek := Mon Tue Wed Thu Fri; 
set WeekEnd := Sat Sun; 

set WeekDays := setof{d in (WorkWeek union WeekEnd)}(d); 

問題は、これがMathProgによって拒否されていることです。一般的に

は、私だけにできるようにしたい: - パーティション(ここではPartsOfWeek)と(ここでは平日)セット を宣言 - データ からパーティションを構築する - のの要素を持つ集合を移入しますパーティションから設定します。

より良い例は、季節と月である可能性があります。 @アリの参考文献の助けを借りて、

+1

MathProgはAMPLのサブセットです。この[チュートリアル](http://pino.univalle.edu.co/~juanp77/MAESTRIA%20BARANQUILLA/SOFTWARE%20OPTIMIZACI%D3N/AMPL%20WIM/amplmod.pdf)を参考にしてください。 – Ali

答えて

7

set seasons; 
set months; 
set monthsOfseason {seasons} within months; 

data; 
set seasons := winter spring summer fall; 
set months := jan feb mar apr may jun jul aug sep oct nov dec; 
set monthsOfseason[winter] := dec jan feb; 
set monthsOfseason[spring] := mar apr may; 
set monthsOfseason[summer] := jun jul aug; 
set monthsOfseason[fall] := sep oct nov; 
関連する問題