数学建模软件lingo示例

合集下载

数学建模软件lingo示例共32页

数学建模软件lingo示例共32页

❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
数学建模软件lingo示例
11、用道德的示范来造就一个人,显然比用法律来约束他更有价值。—— 希腊
12、法律是无私的,对谁都一视同仁。在每件事上,她都不徇私情。—— 托马斯
13、公正的法律限制不了好的自由,因为好人不会去做法律不允许的事 情。——弗劳德
14、法律是为了保护无辜而制定的。——爱略特 15、像房子一样,法律和法律都是相互依存的。——伯克

数学建模必备知识——lingo处理实例(多目标问题)

数学建模必备知识——lingo处理实例(多目标问题)

一个简单的LINGO程序
LINGO的基本用法的几点注意事项
•LINGO中不区分大小写字母;变量和行名可以超过8个字符,但 不能超过32个字符,且必须以字母开头。 •用LINGO解优化模型时已假定所有变量非负(除非用限定变量取 值范围的函数@free或@BND另行说明)。 •变量可以放在约束条件的右端(同时数字也可放在约束条件的左 端)。但为了提高LINGO求解时的效率,应尽可能采用线性表达 式定义目标和约束(如果可能的话)。 •语句是组成LINGO模型的基本单位,每个语句都以分号结尾,编 写程序时应注意模型的可读性。例如:一行只写一个语句,按照 语句之间的嵌套关系对语句安排适当的缩进,增强层次感。 •以感叹号开始的是说明语句(说明语句也需要以分号结束))。
LINGO中定义集合及其属性
LP模型在LINGO中的一个典型输入方式
以“MODEL:”开 始


集合定义部分从 (“SETS:”到 “ENDSETS” ): 定义集合及其属性 给出优化目标 和约束 集合定义部分从 (“DATA:”到 “ENDDATA” )
以“END”结 束
目标函数的定义方式 @SUM(集合(下标):关于集合的属性的表达式) 对语句中冒号“:”后面的表达式,按照“:”前 面的集合指定的下标(元素)进行求和。 本例中目标函数也可以等价地写成
LINGO软件的基本使用方法
内容提要
1. LINGO入门 2.在LINGO中使用集合
3. 运算符和函数
4. LINGO的主要菜单命令 5. LINGO命令窗口
6.习题
1. LINGO入门 2.在LINGO中使用集合
3. 运算符和函数
1. LINGO入门 4. LINGO的主要菜单命令 5. LINGO命令窗口

Lingo的应用实例

Lingo的应用实例

Lingo应用——旅游路线最短问题题目:从北京乘飞机到东京、纽约、墨西哥城、伦敦、巴黎五个城市做旅游,每个城市去且仅去一次,再回到东京,问如何安排旅游线路,使总旅程最短。

各城市之间的航线距离如下表:运用lingo软件求解模型建立前问题分析:1.这是一个求路线最短的问题,题目给出了两两城市之间的距离,而在最短路线中,这些城市有的两个城市是直接相连接的(即紧接着先后到达的关系),有些城市之间就可能没有这种关系,所以给出的两两城市距离中有些在最后的最短路线距离计算中使用到了,有些则没有用。

这是一个0-1规划的问题,也是一个线性规划的问题。

2.由于每个城市去且仅去一次,最终肯定是形成一个圈的结构,这就导致了这六个城市其中有的两个城市是直接相连的,另外也有两个城市是不连接的。

这就可以考虑设0-1变量,如果两个城市紧接着去旅游的则为1,否则为0。

就如同下图实线代表两个城市相连为1,虚线代表没有相连为03. 因为每个城市只去一次,所以其中任何一个城市的必有且仅有一条进入路线和一条出去的路线。

求解:为了方便解题,给上面六个城市进行编号,如下表(因为北京是起点, 将其标为1)假设:设变量x ij 。

如果x ij =1,则表示城市i 与城市j 直接相连(即先后紧接到达关系),否则若x ij =0,则表示城市i 与城市j 不相连。

特别说明:x ij 和x ji 是同一变量,都表示表示城市i 与城市j 是否有相连的关系。

这里取其中x ij (I<j)的变量。

模型建立:由于这是一个最短路线的问题,且变量已经设好。

目标函数:min z=51*x12+78*x13+68*x14+51*x15+13*x16+56*x23+35*x24+21*x25+60*x26+21*x34+57*x35+70*x36+36*x45+68*x46+61*x56约束条件:1. 上面目标函数中的变量是表示两个城市是否直接相连接的关系,且最短路线是可以形成圈的,如下图实线代表两个城市相连为1,虚线代表没有相连为0如上图城市a和城市b有直接相连接的关系,所以之间变量为1,而城市a 与城市e则没有直接相连接的关系,之间变量为0。

lingo案例

lingo案例

LINGO是一种用于线性规划、整数规划、非线性规划、混合整数规划等数学建模和优化问题的软件工具。

它可以用于解决各种实际问题,包括生产计划、物流、资源分配、网络设计等。

以下是一个简单的LINGO案例,以帮助您了解如何使用LINGO进行优化建模和求解问题:**问题描述:**假设有一家制造公司,他们生产两种产品:A和B。

公司有两个工厂,每个工厂都有不同的生产能力和成本。

公司希望确定每个工厂应该生产多少产品A和B,以最大化利润,同时满足生产能力和市场需求的限制。

**问题数据:**- 工厂1的生产能力:最多生产500个A和300个B- 工厂2的生产能力:最多生产400个A和600个B- 产品A的利润:每个A产品的利润为30美元- 产品B的利润:每个B产品的利润为40美元- 生产一个A产品的成本:工厂1为10美元,工厂2为15美元- 生产一个B产品的成本:工厂1为12美元,工厂2为10美元- 市场需求:产品A的市场需求为600个,产品B的市场需求为800个**LINGO建模和求解:**在LINGO中,可以使用数学表达式来建立优化模型。

以下是一个LINGO模型的示例:```SETS:FACTORIES = 1..2;ENDSETSDATA:CAPACITY(FACTORIES) = 500 300400 600;PROFIT = 30 40;COST(FACTORIES) = 10 1512 10;DEMAND = 600 800;ENDDATAVARIABLES:X(FACTORIES) = 0;ENDVARIABLESMAX = @SUM(FACTORIES, PROFIT(FACTORIES) * X(FACTORIES))SUBJECT TOCAPACITY_CONSTRAINT(F)$(FACTORIES): @SUM(FACTORIES, COST(F, FACTORIES) * X(FACTORIES)) <= CAPACITY(F);DEMAND_CONSTRAINT(I)$(FACTORIES): @SUM(FACTORIES,X(FACTORIES)) >= DEMAND(I);POSITIVE_X(F)$(FACTORIES): X(F) >= 0;ENDSUBMODEL:MAX;SOLVE;```上述LINGO模型首先定义了SETS、DATA、VARIABLES和MAX,然后使用SUBJECT TO部分定义了约束条件,最后使用MODEL和SOLVE命令求解优化问题。

lingo建模应用举例

lingo建模应用举例

.例1 某服务部门一周中每天需要不同数目的雇员:周一到周四每天至少需要50人,周五至少需要80人,周六和周日至少需要90人.现规定应聘者需连续工作5天,试确定应聘方案,即周一到周日每天聘用多少人,使在满足需要的条件下聘用总人数最少.模型:记7654321x x x x x x x ,,,,,,分别表示周一、周二、周三、周四、周五、周六、周日聘用的人数.∑==71i i x z min .⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧≥≥++++≥++++≥++++≥++++≥++++≥++++≥++++-为整数.,,,,,,,0909080505050507176543654325432174321763217652176541x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x .t .s 例2 某公司用A 和B 两种原油混合加工成甲、乙两种汽油.甲、乙两种汽油含原油A 的最低比例分别为50%和60%,每吨售价分别为4800元和5600元.该公司现有原油A 和B 的库存量分别为500吨和1000吨,还可以从市场上买到不超过1500吨的原油A .原油A 的市场价为:购买量不超过500吨时的单价为10000元/吨;购买量超过500吨但不超过1000吨时,超过500吨的部分8000元/吨;购买量超过1000吨时,超过1000吨的部分6000元/吨.该公司应如何安排原油的采购和加工.模型:设原油A 用于生产甲、乙两种汽油的数量分别为1211x x ,,原油B 用于生产甲、乙两种汽油的数量分别为2221x x ,,记321x x x ,,分别表示以价格10千元/吨、8千元/吨、6千元/吨采购的原油A 的吨数.()()()3212212211168106584x x x x x .x x .z max ++-+++=.()()1112123212211112112122212231112212212350010000.50.6..5000500000500x x x x x x x x x x x s t x x x x x x x x x x x x x +≤+++⎧⎪+≤⎪⎪≥⎪+⎪⎪⎪≥⎨+⎪⎪-=⎪-=⎪⎪≥⎪⎪≤≤⎩,,,,,,,,,,,,.例3 某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出.从钢管厂进货时得到的原料钢管都是19米长.(1)现有一客户需要50根4米长、20根6米长和15根8米长的钢管.应如何下料最省?(2)零售商如果采用的不同切割模式太多,将会导致生产过程的复杂化,从而增加生产和管理成本,所以该零售商规定采用的不同切割模式不能超过3种.此外,该客户除需要(1)中的三种钢管外,还需要10根5米长的钢管.应如何下料最省? 模型1:钢管下料的合理切割模式i ∑==71i i x z min .⎪⎪⎩⎪⎪⎨⎧≥≥++≥+++≥++++-为整数.,,,015220325023471753654254321x x x x x x x x x x x x x .t .s模型2:用()321,,=i x i 表示按照第i 种模式切割的原料钢管的根数.设第i 种模式下每根原料钢管可生产4米长、5米长、6米长、8米长的钢管数量分别为1i r ,2i r ,3i r ,4i r .∑==31i i x z min .()⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧==≥≥≤+++≤≤+++≤≤+++≤≥++≥++≥++≥++-.,,,;,,为整数为整数,,,,,,,,4321321001986541619865416198654161520105031343332312423222114131211334224114333223113332222112331221111j i r x r r r r r r r r r r r r x r x r x r x r x r x r x r x r x r x r x r x r .t .s ij例4 有4名同学到一家公司参加三个阶段的面试:公司要求每个同学都必须首先找公司秘书初试,然后到部门主管处复试,最后到经理处参加面试,并且不允许插队(即在任何一个阶段4名同学的顺序是一样的).由于4名同学的专业背景不同,所以每人在三个阶段的面试时间也不同,如下表所示(单位:分钟).这4名同学约定他们全部面试完以后一起离开公司.假定现在时间是早晨8:00,问他们最早何时能离开公司?面试时间模型:记ij t 为第i 名同学参加第j 阶段面试需要的时间(已知),令ij x 表示第i 名同学参加第j 阶段面试的开始时刻(不妨记早上8:00为0时刻) ?(123,4123ij ==,,;,,),T 为完成全部面试所花的时间,用0—1变量iky 表示第k 名同学是否排在第i 名同学前面(1表示“是”,0表示“否”).{}33i i it x max T min +=.()⎪⎪⎪⎩⎪⎪⎪⎨⎧<====≥<==-≤-+<==≤-+==≤++.,,,,,,,或取.,,,,,,,.,,,,,,,,.,,,,,,,,.,,,,,,k i k i y j i x k i k j i y T x t x k i k j i Ty x t x j i x t x .t .s ikij ik ij kj kj ik kj ij ij j ,i ij ij 432321103214321043232114323212143211 或改写为T min()⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧<====≥<==-≤-+<==≤-+==≤++≥+≥+≥+≥+.,,,,,,,或取.,,,,,,,.,,,,,,,,.,,,,,,,,.,,,,,,,,,,k i k i y j i x k i k j i y T x t x k i k j i Ty x t x j i x t x t x T t x T t x T t x T .t .s ik ij ik ij kj kj ik kj ij ij j ,i ij ij 4323211032143210432321143232121432114343333323231313 例5 某市消防中心同时接到了三处火警报告.根据当前的火势,三处火警地点分别需要2辆、2辆和3辆消防车前去灭火.三处火警地点的损失将依赖消防车到达的及时程度:记ij t 为第j 辆消防车到达火警地点i 的时间,则三处火警地点的损失分别为:333231222112115893746t t t t t t t ++++,,.目前可供消防中心调度的消防车正好有7辆,分别属于三个消防站,可用消防车数量分别为3辆、2辆、2辆.消防车从三个消防站到三个火警地点所需时间如下表所示.消防中心应如何调度消防车,才能使总损失最小?消防站到三个火警地点所需时间(单位:分钟)模型:将每一火警地点视为与该火警地点所需消防车数目相同数目的需求点.记ij x 表示第i 个消防站是否向第j 个需求地点派车(1表示“是”,0表示“否”)(7654321321,,,,,,,,,==j i ).利用损失函数与已知到达时间可计算得到如下损失矩阵:损失矩阵∑∑===7131j i ij ij x c z min .⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧=======∑∑∑∑====.,,,,,,,,,,或取,,,.,,,,,,,3765432132110223765432117171271131j i x x x x j x .t .s ij j j j j j j i ij 例6 设有两个工厂A 、B ,产量分别为9,8个单位;四个顾客分别为1,2,3,4,需求量分别为3,5,4,5;三个仓库x ,y ,z .其中工厂到仓库、仓库到顾客的运费单价如下表所示.试求总运费最少的运输方案.工厂到仓库、仓库到顾客的运费单价说明:其中“—”表示两地无道路通行.模型:设有m 个工厂,l 个仓库,n 个顾客,i a 表示第i 个工厂的产量,k b 表示第k 个顾客的需求量,ij c 表示第i 个工厂到第j 个仓库的运费单价,jk d 表示第j 个仓库到第k 个顾客的运费单价,ij x 表示第i 个工厂到第j 个仓库的运量,jk y 表示第j 个仓库到第k 个顾客的运量.∑∑∑∑====+m i l j l j nk jk jk ij ij y d x c min 1111.⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧===≥≥===≥=≤∑∑∑∑====.,,,,,,,,,,,,,,,,,,,,,,,,,,,,n k l j m i y x n k b y l j y x m i a x .t .s jk ijk lj jk n k jk mi ij i lj ij 212121002121211111例7 在下图中,用点表示城市,现有A ,B 1,B 2,C 1,C 2,C 3,D 共7个城市.点与点之间的连线表示城市间有道路相连.连线旁的数字表示道路的长度.现计划从城市A 到城市D 铺设一条天然气管道,请设计出最小价格管道铺设方案.模型:用n 个顶点表示n 个城市,城市编号为i (n i ,,, 21=),()j i ,表示连接城市i 与j 的道路,其长度记为ij w ,E 为边集.设决策变量为ij x ,且()⎩⎨⎧=,否则.的路上,至城市位于城市,,当011n j i x ij 则最短路问题的数学规划表达式为()∑∈Ej i ijijx w min,.()()()()()⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧∈-====∑∑∑∑∈∈∈∈.,,或取,,,,,,,,,,,E j i x n i x x x x .t .s ij E i j j ji E j i j ij En j jjn Ej j j 101321111 例8 现需要将城市s 的石油通过管道运送到城市t ,中间有4个中转站v 1,v 2,v 3,v 4,城市与中转站的连接以及管道的容量如图所示,求从城市s 到城市t 的最大流.模型:用n 个顶点表示n 个城市,城市编号为i (n i ,,, 21=),()j i ,表示连接城市i 与j 的弧,弧()j i ,上的容量记为ij c ,流量记为ij f ,A 为弧集.则最大流问题的数学规划表达式为v max .()()()()()⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧∈≤≤-====∑∑∑∑∈∈∈∈.,,,,,,,,,A j i c f n i f f v f v f .t .s ij ij A i ,j j ji A j ,i j ij An ,j jjn Aj ,j j 013211。

lingo软件的使用具体例子

lingo软件的使用具体例子

1
4
0
0
3
2
3
1
0
1
3
2
0
1
3
4
1
2
0
3
5
1
1
1
1
6
0
3
0
1
7
0
0
2
3
需求
50
20
15
约束 满足需求
4 x13 x22 x3x4x550 整数约束:
x22x4x53x620
x3x52x715
xi 为整数
钢管下料问题1
当余料没有用处时,通常以总根数最少为目标
目标2(总根数) M Z 2 i x 1 n x 2 x 3 x 4 x 5 x 6 x 7
客户需求
原料钢管:每根19米
4米50根
6米20根
8米15根
问题1. 如何下料最节省 ? 节省的标准是什么?
问题2. 客户增加需求:
5米10根
由于采用不同切割模式太多,会增加生产和管理成本, 规定切割模式不能超过3种。如何下料最节省?
钢管下料
切割模式
按照客户需要在一根原料钢管上安排切割的一种组合。
4米1根 6米1根
切割多少根原料钢管,最为节省?
两种 标准
1. 原料钢管剩余总余量最小 2. 所用原料钢管总根数最少
决策变量 xi ~按第i 种模式切割的原料钢管根数(i=1,2,…7)
目标1(总余量) M Z 1 3 i x 1 n x 2 3 x 3 3 x 4 x 5 x 6 3 x 7
模式 4米根数 6米根数 8米根数 余料
vk(xk,uk)gk(uk)
资源分配问题

Lingo的典型应用举例

Lingo的典型应用举例

假设预先准备的箱子总数为n个,即使每件物品单 独装一个箱子也够用,用决策变量yi=1或0表示第j个箱 子是用还是不用,用变量xij=1或0表示第i件物品是否放 入第j个箱子中,建立0-1规划模型如下:
n
min
z y j,
j1
n
w i x ij Cy
j , j 1,2 ,...,
n,
i1
s
表2.1 当前可供蔬菜养分含量(mg)和价格
养分
蔬菜

A1 青 豆 0.45
A2 胡萝卜 0.45
A3 花 菜 0.65
A4 卷心菜 0.4
A5 芹 菜 0.5
A6 土 豆 0.5
每周最低需求 6
每份蔬菜所含养分数量
每份价格
磷 维生素A 维生素C 烟酸 (元)
20
415
22
0.3
2.1
28
4065
例2.1 某疗养院营养师要为某类病人拟定本周蔬菜类菜单, 当前可供选择的蔬菜品种、价格和营养成分含量,以及病 人所需养分的最低数量见表2.1所示。病人每周需14份蔬 菜,为了口味的原因,规定一周内的卷心菜不多于2份, 胡萝卜不多于3份,其他蔬菜不多于4份且至少一份。在满 足要求的前提下,制订费用最少的一周菜单方案。
.t
.
n
x ij 1 , i 1 , 2 ,...,
n,
j1
yj x ij
0或 0或
1, j 1, i,
j
1,2 ,..., n , 1,2 ,..., n .
例5.1 已知30个物品,其中6个长0.51m,6个长 0.27m,6个长0.26m,余下的12个长0.23m,箱子长为 1m。问最少需要多少个箱子才能把30个物品全部装进箱 子。

用LINGO求解线性规划的例子

用LINGO求解线性规划的例子

附1:用LINGO求解线性规划的例子一奶制品加工厂用牛奶生产A1、A2两种奶制品,1桶牛奶可以在设备甲上用12小时加工成3公斤A1,或者在设备乙上用8小时加工成4公斤A2。

根据市场需求,生产的A1、A2能全部售出,且每公斤A1获利24元,每公斤A2获利16元。

现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间为480小时,并且设备甲每天至多能加工100公斤A1,设备乙的加工能力没有限制。

试为该厂制定一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:1)若用35元可以购买到1桶牛奶,应否作这项投资?若投资,每天最多购买多少桶牛奶?2)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?3)由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?数学模型:设每天用x1桶牛奶生产A1 ,用x2桶牛奶生产A2目标函数:设每天获利为z元。

x1桶牛奶可生产3x1公斤A1,获利24*3x1,x2桶牛奶可生产4*x2公斤A2,获利16*4x2,故z=72x1+64x2约束条件:原料供应:生产A1、A2的原料(牛奶)总量不超过每天的供应50桶,即x1+x2≤50劳动时间:生产A1、A2的总加工时间不超过每天正式工人总的劳动时间480小时,即12x1+8x2≤480设备能力:A1的产量不得超过设备甲每天的加工能力100小时,即3x1≤100非负约束:x1、x2均不能为负值,即x1≥0,x2≥0综上所述可得max z=72x1+64x2s.t.x1+x2≤5012x1+8x2≤4803x1≤100x1≥0,x2≥0显然,目标函数和约束条件都是线性的,这是一个线性规划(LP),求出的最优解将给出使净利润最大的生产计划,要讨论的问题需要考虑参数的变化对最优解和影响,一般称为敏感性(或灵敏度)分析。

LINGO求解线性规划用LINGO求解线性规划时,首先在LINGO软件的模型窗口输入一个LP模型,模型以MAX或MIN 开始,按线性规划问题的自然形式输入(见下面例子所示)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MODEL: location Title Location Problem; sets: 集合段 demand/1..6/:a,b,d; 需求 supply/1..2/:x,y,e; 供应 link(demand,supply):c; 连接 endsets data: 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; e=20,20; x,y=5,1,2,7; enddata 初始点 init: 初始段 endinit 目标 min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2)); @for(demand(i):@sum(supply(j):c(i,j))=d(i);); 需求约束 @for(supply(i):@sum(demand(j):c(j,i))<=e(i);); @for(supply: @free(X); @free(Y); ); 供应约束 目标与约束段 END
数学建模课件
主讲人:孙云龙 主讲人:
3、Lingo集合循环函数 、 集合循环函数
难点!重点! 循环操作函数——集合上的元素——下标: 集合名 集合索引列表 过滤条件 表达式
@function(setname [(set_index_list)[|condition]]:expression_list); 集合函数名 FOR MAX MIN SUM PROD
元素列表法 元素过滤法
SETS: CITIES /A1,A2,A3,B1,B2/; ROADS(CITIES, CITIES)/ A1,B1 A1,B2 A2,B1 A3,B2/:D; ENDSETS
SETS: STUDENTS /S1..S8/; PAIRS( STUDENTS, STUDENTS) | &2 #GT# &1: BENEFIT, MATCH; ENDSETS
m in st .
cij [(xj −ai )2 +( yj −b )2 ]1/2 ∑∑ i
j = i= 1 1 2
2
6
∑c
j= 1 6 i= 1
ij
= di , i =1 ,...,6 ≤ ej , j =1 ,2
∑c
ij
cij ≥ 0, i =1 ,...,6, j =1 ,2
决策变量:料场j到工地i的运量—— cij ——12维 线性规划模型 lingo——表达式? location
数学建模课件
主讲人:孙云龙 主讲人:
例1
sets: demand/1..6/:a,b,d; 需求 建立 supply/1..2/:x,y,e; 供应 下标集合 link(demand,supply):c; 连接 endsets a1 , a 2 , a 3 , a 4 , a 5 , a 6
b1 , b 2 , b 3 , b 4 , b 5 , b 6 d1 , d 2 , d 3 , d 4 , d 5 , d 6 x1 , x 2 , y1 , y 2 , e1 , e 2
数学建模课件
主讲人:孙云龙 主讲人:
2、Lingo的集合 、 的集合Set及其属性 及其属性Attribute 的集合 及其属性
例1 Lingo的集合Set——下标集合 建筑工地位置坐标 (ai,bi) 、水泥日用量di : 对每个建筑工地(6个)都有一个对应的值 都是一个由6个元素组成的数组——是已知的 料场位置坐标 (xj,yj) 、日储量ej 对每个料场(2个)都有一个对应的值 都是一个由2个元素组成的数组——目前是已知的 料场到建筑工地的供应计划 c i j 对每个料场与建筑工地之间(6×2)都有一个对应的 值 是一个6×2 个元素组成的矩阵——是未知数 ——100个工地? LINDO无数组,每个变量输入——麻烦
数学建模课件
主讲人:孙云龙 主讲人:
二、Lingo集合 集合
例1 选址问题
某公司有6个建筑工地,位置坐标为(ai,bi) (单位:公里), 水泥日用量di (单位:吨)
i a b d 1 2 3 1.25 2 8.75 0.75 5 3 0.5 4.75 4 4 5.75 5 7 5 3 6.5 6 6 7.25 7.75 11
st .
∑c
j=1 6 1 i=
2ijຫໍສະໝຸດ = di , i =1 ,...,6 ≤ ej , j =1 ,2
∑c
ij
@for(demand(i):@sum(supply(j):c(i,j))=d(i);); @for(supply(i):@sum(demand(j):c(j,i))<=e(i););
数学建模课件
数学建模课件
主讲人:孙云龙 主讲人:
集合Set及其属性Attribute 1到6的整数 定义数组下标集合demand/1..6/———表示6个建筑工地 a,b,d称为该集合的属性 ———表示坐标(ai,bi) 、水泥日用量di 定义数组下标集合supply/1..2/———表示6个建筑工地 该集合的属性x,y,e ———表示坐标(xj,yj) 、日储量ej 定义数组下标集合link(demand,supply)———表示 6×2个料场到建筑工地的连接 该集合的属性c ———表示每个料场与建筑工地之间供应计划c i j
数学建模课件
主讲人:孙云龙 主讲人:
三、Lingo运算符和函数 运算符和函数
1、运算符及其优先级 、
算术运算符 + - * / ^ 逻辑运算符 #NOT# #EQ# #AND# #GT# #LT# 关系运算符 <(=) = >(=)
否定 相等 并且 大于 小于
#NE# #OR# #GE# #LE#
数学建模课件
主讲人:孙云龙 主讲人:
派生集合derived set 派生集合
基于其它集合而派生出来的二维或多维集合 定义格式 ——集合名 元素列表缺省 ——稠密集合、或数据段列表赋值 所有组合——稠密集合 稠密集合 元素列表——稀疏集合 稀疏集合 元素列表法——枚举 元素过滤法——利用过滤条件 setname(parent_set_list) [|filtrate_condition] [:attribute_list]; 父集合列表 元素列表 属性列表 setname(parent_set_list) [/member_list/] [: attribute_list];
数学建模课件
主讲人:孙云龙 主讲人:
集合的类型
setname(parent_set_list) [/member_list/] [: attribute_list];
集合
setname [/member_list/] [: attribute_list];
派生集合 稀疏集合
基本集合
稠密集合 直接列举法 隐式列举法
假设:料场和工地之间有直线道路 (1)现有2料场,位于A(5,1),B(2,7),记(xj,yj),j=1,2, 日储量ej各有20吨。 目标:制定每天的供应计划,即从A, B两料场分别向各 工地运送多少吨水泥,使总的吨公里数最小。
数学建模课件
主讲人:孙云龙 主讲人:
解:
目标:吨公里 约束:需求 供应
数学建模课件
主讲人:孙云龙 主讲人:
1、Lingo建模语言 、 建模语言 构成: 个段 构成:4个段
目标与约束段 集合段(SETS ENDSETS) 数据段(DATA ENDDATA) 初始段(INIT ENDINIT) (计算段 (CALC ENDCALC)) 基本使用
数学建模课件
主讲人:孙云龙 主讲人:
数学建模课件
主讲人:孙云龙 主讲人:
一、Lingo基本语法 基本语法
1、定义了目标函数为MIN=.. 2、以一个分号“;”结尾 ——除SETS, ENDSETS, DATA , ENDDATA, END之外 3、可以放在约束条件的右端,同时数字也可放在约束条件的 左端。 4、假定各变量非负。 5、注释:“!” 6、<、>为≤、≥
不等 或者 大于等于 小于等于
过滤条件使用——结果:0 1
数学建模课件
主讲人:孙云龙 主讲人:
运算符的优先级 最高——————————————最低 #NOT# —(负号) * / + —(减法) #EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR# < = >
^
先左后右 先括号内,后括号外
主讲人:孙云龙 主讲人:
4、Lingo变量定界函数 、 变量定界函数
默认:? @BND(L, X,N) @BIN( X) 例1 约束:非负 [L,U] 0-1变量 @FREE( X) @GIN( X) 自由变量 整数变量
st .
cij ≥ 0, i =1 ,...,6, j =1 ,2
@for(supply: @free(X); @free(Y); );
数学建模课件
主讲人:孙云龙 主讲人:
例1 目标:吨公里
m in
cij [(xj −ai )2 +(yj −b )2 ]1/2 ∑∑ i
1 1 j = i=
2
6
min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)b(i))^2)^(1/2)); 约束:需求 供应
数学建模课件
主讲人:孙云龙 主讲人:
3、定义集合Set 、定义集合
基本集合primary set 基本集合
直接把元素列举出来 定义格式 ——集合名 元素列表 属性列表 setname [/member_list/] [: attribute_list]; [ …… ] —— 可选项 元素列表 显式列举法——列出全部元素, 用逗号或空格分开 隐式列举法—— 1..n 属性列表缺省——集合可在程序中作为一循环变量使用, 构造更复杂的派生集合 元素列表缺省——必须在数据段给出元素列表赋值
相关文档
最新文档