LINGO应用实例

LINGO 应用实例
班级:2011级软件工程1班;姓名:林保京;学号:P111713222
某公司有6 个建筑工地要开工,每个工地的位置(用平面坐标a, b 表示,距离单位:公里)及水泥日用量d (吨)由下表给出。

目前有两个临时料场位于P (5, 1), Q (2, 7) ,日储量各有20 吨。

假设从料场到工地之间均有直线道路相连,试制定每天的供应计划,即从A, B 两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。

为了进一步减少吨公里数,打算舍弃两个临时料场,改建两个新的,日储量仍各为20 吨,问应建在何处,节省的吨公里数有多大。

记工地的位置为(a i ,b i ),水泥的日用量为d i ,i =1…6;料场的位置为(x j ,y j ),日储量为e j ,j =1,2;从料场j 到工地i 的运送量为c ij ,这个优化问题的数学规划模型是:
min f =∑∑c ij √(x j −a i )2+(y j −b i )2
6
i−1
2j−1
st ∑c ij 2j−1
=d i ,i =1 (6)
∑c ij 6
i−1
≤e j ,j =1,2
将其转化成LINGO 代码:
MODEL :
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,5.75,5,6.5,7.75;
!需求量;
d=3,5,4,7,6,11;
e=20,20;
enddata
init:
!初始点;
x,y=5,1,2,7;
endinit
[OBJ] min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2)); @for(demand(i):[DEMAND_CON]@sum(supply(j):c(i,j))=d(i););
@for(supply(i):[SUPPLY_CON]@sum(demand(j):c(j,i))<=e(i););
@for(supply:@free(X); @free(Y););
END
运行结果如下:
Local optimal solution found.
Objective value: 84.41406
Infeasibilities: 0.000000
Total solver iterations: 132
Model Title: Location Problem
Variable Value Reduced Cost
A( 1) 1.250000 0.000000
A( 2) 8.750000 0.000000
A( 3) 0.5000000 0.000000
A( 4) 5.750000 0.000000
A( 5) 3.000000 0.000000
A( 6) 7.250000 0.000000
B( 1) 1.250000 0.000000
B( 2) 0.7500000 0.000000
B( 3) 5.750000 0.000000
B( 4) 5.000000 0.000000
B( 5) 6.500000 0.000000
B( 6) 7.750000 0.000000
D( 1) 3.000000 0.000000
D( 2) 5.000000 0.000000
D( 3) 4.000000 0.000000
D( 4) 7.000000 0.000000
D( 5) 6.000000 0.000000
D( 6) 11.00000 0.000000
X( 1) 3.113090 0.000000
X( 2) 7.250000 -0.1954955E-06
Y( 1) 6.044738 0.000000
Y( 2) 7.750000 -0.8808641E-08
E( 1) 20.00000 0.000000 E( 2) 20.00000 0.000000 C( 1, 1) 3.000000 0.000000 C( 1, 2) 0.000000 3.701915 C( 2, 1) 0.000000 0.5747176 C( 2, 2) 5.000000 0.000000 C( 3, 1) 4.000000 0.000000 C( 3, 2) 0.000000 4.410404 C( 4, 1) 7.000000 0.000000 C( 4, 2) 0.000000 0.2961603 C( 5, 1) 6.000000 0.000000 C( 5, 2) 0.000000 3.960913 C( 6, 1) 0.000000 4.474589 C( 6, 2) 11.00000 0.000000
Row Slack or Surplus Dual Price OBJ 84.41406 -1.000000
DEMAND_CON( 1) 0.000000 -5.143988 DEMAND_CON( 2) 0.000000 -7.158911 DEMAND_CON( 3) 0.000000 -2.629659 DEMAND_CON( 4) 0.000000 -2.836331 DEMAND_CON( 5) 0.000000 -0.4690982 DEMAND_CON( 6) 0.000000 0.000000 SUPPLY_CON( 1) 0.000000 0.000000 SUPPLY_CON( 2) 4.000000 0.000000
软件运行截图
代码截图:
运行结果截图:。

合集下载

运用lingo解决问题的例子

运用lingo解决问题的例子

运用lingo解决问题的例子
以下是一个运用LINGO解决实际问题的例子:
问题描述:
某公司生产A、B两种产品,已知生产1单位A产品需要3单位原料1和2单位原料2,同时产生2单位废料;生产1单位B产品需要4单位原料1和2单位原料2,同时产生3单位废料。

该公司有10单位原料1和8单位原料2,同时最多可以产生10单位废料。

请为公司制定一个生产计划,使得A、B两种产品的产量最大。

模型建立:
1. 设x1为A产品的产量,x2为B产品的产量。

2. 设原料1的消耗为3x1 + 4x2,原料2的消耗为2x1 + 2x2,废料产生为2x1 + 3x2。

3. 原料1的限制条件为3x1 + 4x2 <= 10,原料2的限制条件为2x1 +
2x2 <= 8,废料的限制条件为2x1 + 3x2 <= 10。

4. 目标函数为max x1 + x2,即最大化A、B两种产品的产量之和。

LINGO代码:
SETS:
I / 1 /;
J / 1,2 /;
K / I,J /;
PARAMETERS:
C(K) / 3I + 4J, 2I + 2J, 2I + 3J /; D(I) / 10 /;
E(I) / 8 /;
F(I) / 10 /;
VARIABLES:
X(K) / >=0 /;
MAXIMIZE Z: X(1) + X(2); SUBJECT TO:
3X(1) + 4X(2) <= D(1);
2X(1) + 2X(2) <= E(1);
2X(1) + 3X(2) <= F(1); ENDSETS
END。

Lingo超经典案例大全

Lingo超经典案例大全

Lingo超经典案例大全Lingo超经典案例大全LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器〞。

Lingo超强的优化计算能力在许多方面〔线性规划、非线性规划、线性整数规划、非线性整数规划、非线性混合规划、二次规划等〕比matlab、maple等强得多,Lingo编程简洁明了,数学模型不用做大的改动〔或者不用改动〕便可以直接采纳Lingo语言编程,十分直观。

Lingo模型由4个段构成:〔1〕集合段〔sets endsets〕;〔2〕数据段〔data enddata);(3)初始段〔init endinit〕;〔4〕目标与约束段。

Lingo的五大优点:1. 对大规模数学规划,LINGO语言所建模型较简洁,语句不多;2. 模型易于扩展,因为@FOR、@SUM等语句并没有指定循环或求和的上下限,假如在集合定义部分增加集合成员的个数,则循环或求和自然扩展,不需要改动目标函数和约束条件;3. 数据初始化部分与其它部分语句分开,对同一模型用不同数据来计算时,只需改动数据部分即可,其它语句不变;4. “集合〞是LINGO有特色的概念,它把实际问题中的事物与数学变量及常量联系起来,是实际问题到数学量的抽象,它比C语言中的数组用处更为广泛。

5. 使用了集合以及@FOR、@SUM等集合操作函数以后可以用简洁的语句表达出常见的规划模型中的目标函数和约束条件,即使模型有大量决策变量和大量数据,组成模型的语句并不随之增加.一、求解线性整数规划、非线性整数规划问题:1.线性整数规划:model:max=x1+x2;x1+9/14*x20.001;@abs(x2-1)>0.001;end求得x1=2,x2=2.若再次排除这组解,发觉Lingo解不出第三组解了,这时我们可以断定:此优化模型有两组解:x1=3,x2=1和x1=2,x2=2.求解模型时需留意: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建模应用举例

.例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 应用实例班级:2011级软件工程1班;姓名:林保京;学号:P111713222某公司有6 个建筑工地要开工,每个工地的位置(用平面坐标a, b 表示,距离单位:公里)及水泥日用量d (吨)由下表给出。

目前有两个临时料场位于P (5, 1), Q (2, 7) ,日储量各有20 吨。

假设从料场到工地之间均有直线道路相连,试制定每天的供应计划,即从A, B 两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。

为了进一步减少吨公里数,打算舍弃两个临时料场,改建两个新的,日储量仍各为20 吨,问应建在何处,节省的吨公里数有多大。

记工地的位置为(a i ,b i ),水泥的日用量为d i ,i =1…6;料场的位置为(x j ,y j ),日储量为e j ,j =1,2;从料场j 到工地i 的运送量为c ij ,这个优化问题的数学规划模型是:min f =∑∑c ij √(x j −a i )2+(y j −b i )26i−12j−1st ∑c ij 2j−1=d i ,i =1 (6)∑c ij 6i−1≤e j ,j =1,2将其转化成LINGO 代码:MODEL :Title Location Problem;sets :demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,supply):c;endsetsdata :!需求点设置;a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,5.75,5,6.5,7.75;!需求量;d=3,5,4,7,6,11;e=20,20;enddatainit:!初始点;x,y=5,1,2,7;endinit[OBJ] min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2)); @for(demand(i):[DEMAND_CON]@sum(supply(j):c(i,j))=d(i););@for(supply(i):[SUPPLY_CON]@sum(demand(j):c(j,i))<=e(i););@for(supply:@free(X); @free(Y););END运行结果如下:Local optimal solution found.Objective value: 84.41406Infeasibilities: 0.000000Total solver iterations: 132Model Title: Location ProblemVariable Value Reduced CostA( 1) 1.250000 0.000000A( 2) 8.750000 0.000000A( 3) 0.5000000 0.000000A( 4) 5.750000 0.000000A( 5) 3.000000 0.000000A( 6) 7.250000 0.000000B( 1) 1.250000 0.000000B( 2) 0.7500000 0.000000B( 3) 5.750000 0.000000B( 4) 5.000000 0.000000B( 5) 6.500000 0.000000B( 6) 7.750000 0.000000D( 1) 3.000000 0.000000D( 2) 5.000000 0.000000D( 3) 4.000000 0.000000D( 4) 7.000000 0.000000D( 5) 6.000000 0.000000D( 6) 11.00000 0.000000X( 1) 3.113090 0.000000X( 2) 7.250000 -0.1954955E-06Y( 1) 6.044738 0.000000Y( 2) 7.750000 -0.8808641E-08E( 1) 20.00000 0.000000 E( 2) 20.00000 0.000000 C( 1, 1) 3.000000 0.000000 C( 1, 2) 0.000000 3.701915 C( 2, 1) 0.000000 0.5747176 C( 2, 2) 5.000000 0.000000 C( 3, 1) 4.000000 0.000000 C( 3, 2) 0.000000 4.410404 C( 4, 1) 7.000000 0.000000 C( 4, 2) 0.000000 0.2961603 C( 5, 1) 6.000000 0.000000 C( 5, 2) 0.000000 3.960913 C( 6, 1) 0.000000 4.474589 C( 6, 2) 11.00000 0.000000Row Slack or Surplus Dual Price OBJ 84.41406 -1.000000DEMAND_CON( 1) 0.000000 -5.143988 DEMAND_CON( 2) 0.000000 -7.158911 DEMAND_CON( 3) 0.000000 -2.629659 DEMAND_CON( 4) 0.000000 -2.836331 DEMAND_CON( 5) 0.000000 -0.4690982 DEMAND_CON( 6) 0.000000 0.000000 SUPPLY_CON( 1) 0.000000 0.000000 SUPPLY_CON( 2) 4.000000 0.000000软件运行截图代码截图:运行结果截图:。

LINGO及规划实例


5 变量界定函数
变量界定函数实现对变量取值范围的附加限制,共4种:
@bin(x)
限制x为0或1
@bnd(L,x,U) 限制L≤x≤U
@free(x)
取消对变量x的默认下界为0的限制,即x可以取任意实
@gin(x)
限制x为整数
在默认情况下,LINGO规定变量是非负的,也就是说下界为0,上界为+∞。
@free取消了默认的下界为0的限制,使变量也可以取负值。
2.@sum 该函数返回遍历指定的集成员的一个表达式的和。
3.@min和@max 返回指定的集成员的一个表达式的最小值或最大。值。
精品课件
LINGO函数
8 输入和输出函数 输入和输出函数可以把模型和外部数据比如文本文件、 数据库和电子表格等连接起来。
1.@file函数
该函数用从外部文件中输入数据,可以放在模型中任何地方。 该函数的语法格式为@file(’filename’)。
n 1 1(1I)n
k1(1I)k
I
净现值就是在一定时期内为了获得一定收益在该时期初所支付
的实际费用。

2.@fpl(I,n)
返回如下情形的净现值:单位时段利率为I,第n个时段支付单位费用。
@fpl(I,n)的计算公式为 (1 I)n
n
@fp(aI,n精)品课件 @fp(Il,k) k1
LINGO函数
@sign(x)
如果x<0返回-1;否则,返回1
@floor(x)
返回x的整数部分。当x>=0时,返回不超过x的最大整
当x<0时,返
@smax(x1,x2,…,xn) 返回x1,x2,…,xn中的最大值
@smin(x1,x2,…,xn) 返回x1,x2,…,xn中的最小值

Lingo软件应用举例

Lingo 软件应用举例1. 简单的优化问题---- Lingo 软件的体验1.1 线性规划及线性整数规划例1. 在LINGO 中求解如下问题(线性规划):0,6002100350..32min 212112121≥≤+≥≥++x x x x x x x t s x x %----------------------------------------------------------其LINGO 代码如下:min =2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;说明:(1) 在这里之所以没有对x1和x2进行非负的限制,是由于在默认情况下,Lingo 规定变量取非负实数(即非负要求,取值连续)(2) 若要求取整数,则函数@gin(x)限定x 取值为整数;(3) 若要求无约束,则函数@free(x)取消x 默认下界为0的限制,使x 可以取任意实数;(4) 若要求取非正数,则函数@bnd(L,x,U)可以限定L ≤x ≤U 。

%----------------------------------------------------------计算结果:Global optimal solution found at iteration: 2Objective value: 800.0000Variable Value Reduced CostX1 250.0000 0.000000X2 100.0000 0.000000Row Slack or Surplus Dual Price1 800.0000 -1.0000002 0.000000 -4.0000003 150.0000 0.0000004 0.000000 1.000000结果的解释:(1) “Global optimal solution found at iteration: 2”表示2次迭代后得到全局最优解。

lingo用法-2


j 1 6
cij di , i 1,,6 ! 6工地水泥日用量约束
cij e j ,
i a b d 1 1.25 1.25 3
j 1,2
! 2料场日储量约束
4 5.75 5 7 5 3 6.5 6 6 7.25 7.75 11
用已知条件 编程序如下
2 3 8.75 0.5 0.75 4.75 5 4
机动 上页 下页 返回 结束
数学实验
init: 3. 初始段(INIT ENDINIT) endinit !objective function(目标函数); [OBJ] min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2)); !demand constraints(需求约束); @for(demand(i):[DEMAND_COM] @sum(supply(j):c(i,j))=d(i);); !supply constraints(供应约束); @for(supply(i):[SUPPLY_COM] @sum(demand(j):c(j,i))<=e(i);); @for(supply: @free(X); @free(Y);); end
目标 与约 束段
4.
运行结果: 最优解是 89.88350 (吨公里) i 向各工地运送的水泥吨数 ci1 (料场 A) 新料场位置(7.25,7.75), (5.7,4.9) ci 2 (料场 B)
1 0 3
2 0 5
机动
3 0 4
上页
4 0 7
下页
5 5 1
返回
6 11 0
机动
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档