几个命令:
@bin(x)表示x为0或1
@gin(x)表示x为整数
@free(x)表示x为任意实数
@bnd(1, x, u)表示x为[1,u]之间的实数
默认变量是非负实数
思考:1、如果x为-5到5之间的整数,如何表示?
答:@free(x);
@bnd(-5, x, 5);
@gin(x);
2、如果x∈{-1, 1},如何表示?
*** 运输+选址问题
某公司有6个建筑工地,位置坐标为(ai, bi)(单位:公里),水泥日用量di(单位:吨)
i 1 2 3 4 5 6
a 1.25 8.75 0.5 5.75 3 7.25
b 1.25 0.75 4.75 5 6.5 7.75
d 3 5 4 7 6 11
例题:
(1) 现有2料场,位于A[5, 1], B[2, 7], 记(xj, yj), j = 1, 2,日储量ej各有20吨
假设料场和工地之间有直线道路,指定每天的供应计划,即从A, B两料场分别向各工地运送多少吨水泥,使总的吨公里数最小
取决策变量c_ij表示i工地从j料场运来的水泥量。模型(线性模型)为:
代码正文:
model:
sets: ! 集合段。定义集合以sets开头,endsets结束;
S/1..6/: a, b, d; ! 初始集合一维数组(/ /之间表示下标的取值范 围,1..6表示1到6这6个数字);
T