lingo学习(二):集合vs矩阵工厂
暴力枚举法
矩阵工厂
——生产一维矩阵
例子
sets:
factory /1..6/:a,b;
plant /1..3/:x,y;
endsets
!A、B矩阵有6个元素,X,Y有3个元素。
- 复制代码时先新建一个文本文档,将代码复制进去,这样可以消除格式
- 0.000000为统一初值
- factory和plant都是制造矩阵的工厂,但他们是两家不同的工厂
- factory后面的/1…6/说明他专门生产16的矩阵,a,b都是16的矩阵
- plant后面的/1…3/说明他专门生产13的矩阵,x,y都是13的矩阵
- 矩阵工厂名字(factory和plant)是随便起的,所生产行矩阵的名字(a,b,x,y)也是随便起的
- 以上四句话本质是定义了四个行矩阵的大小,矩阵工厂只是中介
- 生产完矩阵后,工厂和矩阵脱开联系,即a,b与factory无关
- 生产的矩阵a与b,x与y之间没有联系
- lingo不是一行一行读代码的,所以用sets:和endsets表示矩阵工厂生产流程的起止
sets:
factory1 /1..6/:a;
factory2 /1..6/:b;
endsets
- 以上代码可以简写为
sets:
factory /1..6/:a,b;
endsets
——矩阵的赋值
sets:
factory /1..6/:a,b;
plant /1..3/:c,x;
endsets
data:
a=1,2,3,4