GLPK MathProg组和组(GLPK MathProg sets and groups)

2019-09-16 18:00发布

我希望这是显而易见的人。 我只有一个香草使用GLPK / MathProg的。 我无法找出在GNU MathProg(内GLPK)的语法来做到以下几点,例如:

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)和一组(这里平日) - 从建立数据的分区 - 填充与集合的集合的从分区中的元素。

一个更好的例子可能是随季节和月份。

Answer 1:

与@扬智的参考文献的帮助:

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;


文章来源: GLPK MathProg sets and groups