学习LINGO语言课件_第1页
学习LINGO语言课件_第2页
学习LINGO语言课件_第3页
学习LINGO语言课件_第4页
学习LINGO语言课件_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LINGO

密码:6543212023/10/28学习LINGO语言一.优化模型与优化软件简介二.LINGO软件的基本使用方法Outline三.LINGO程序流程控制和子模型

2023/10/28学习LINGO语言一.优化模型与优化软件简介2023/10/28学习LINGO语言约束条件决策变量优化问题的一般形式目标函数无约束优化:只有目标函数,没有约束条件有约束优化:目标函数和约束条件都有普通方程组:没有(1)(3),只有(2)不等式方程组:没有(1)(2),只有(3)2023/10/28学习LINGO语言优化类型连续优化:全部决策变量取值均为连续数值(实数)离散优化:部分或全部决策变量只取离散数值2023/10/28学习LINGO语言连续优化

线性规划(LP)

目标和约束均为线性函数非线性规划(NLP)

目标或约束中有非线性函数二次规划(QP)

目标为二次函数、约束为线性2023/10/28学习LINGO语言离散优化

整数规划(IP)

决策变量(全部或部分)为整数

整数线性规划(ILP),整数非线性规划(INLP)

纯整数规划(PIP),混合整数规划(MIP)

一般整数规划,0-1(整数)规划2023/10/28学习LINGO语言常用优化软件

LINDO/LINGO软件MATLAB优化工具箱/mathematica优化程序包EXCEL软件的优化功能SAS(统计分析)软件的优化功能2023/10/28学习LINGO语言建模时需要注意的几个基本问题

1、尽量使用实数优化,减少整数约束和整数变量2、尽量使用光滑优化,减少非光滑约束的个数如:尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等2023/10/28学习LINGO语言建模时需要注意的几个基本问题

3、尽量使用线性模型,减少非线性约束和非线性变量的个数(如x/y<5

改为x<5y)4、合理设定变量上下界,尽可能给出变量初始值5、模型中使用的参数数量级要适当(如小于103)2023/10/28学习LINGO语言二.LINGO软件的基本使用方法2023/10/28学习LINGO语言§1LINGO入门2023/10/28学习LINGO语言max2x1+3x2

St.4x1+3x2<=103x1+5x2<=12x1≥0x2≥0目标函数约束条件决策变量设有数学模型如下:2023/10/28学习LINGO语言第一步:启动Lingo屏幕显示如下:标记LINGO的外窗口是主框架窗口,主框架窗口的上面包含所有的命令菜单和命令工具栏;标记LINGOMODEL-LINGO1的子窗口是一个新的、空白的模型窗口。2023/10/28学习LINGO语言第二步:在模型窗口中输入模型model:max=2*x1+3*x2;4*x1+3*x2<10;3*x1+5*x2<12;endMax2x1+3x2St.4x1+3x2<=103x1+5x2<=12x1≥0x2≥02023/10/28学习LINGO语言第三步:求解模型1)选择菜单

LINGO|Solve

或者按工具栏的

2023/10/28学习LINGO语言2)LINGO开始编译模型,如有语法错误将返回一个错误的消息并指明错误出现的位置;如果通过编译,LINGO将激活Solver运算器

寻求模型的最优解;2023/10/28学习LINGO语言3)首先出现solverstatus窗口,其作用是监控solver的进展和显示模型的维数等信息;2023/10/28学习LINGO语言SolverStatus窗口2023/10/28学习LINGO语言4)计算完成后出现SolutionReport窗口显示模型解的详细信息;2023/10/28学习LINGO语言SolutionReport窗口Globaloptimalsolutionfoundatiteration:2Objectivevalue:7.454545VariableValueReducedCost

x11.2727270.000000

x21.6363640.000000RowSlackorSurplusDualPrice17.4545451.00000020.0000000.9090909E-0130.0000000.54545452023/10/28学习LINGO语言ReducedCost:在max模型中:

相应变量的

reducedcost值表示当该变量每增加一个单位时目标函数减少的量。本例中此值均为02023/10/28学习LINGO语言ReducedCost:ReducedCost值列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标函数的变化率。其中基变量的reducedcost值应为0,对于非基变量Xj,相应的reducedcost值表示当某个变量Xj增加一个单位时目标函数减少的量(max型问题)。本例中此值均为0。2023/10/28学习LINGO语言SLACKORSURPLUS:

给出约束条件的松驰变量或剩余变量的值;小于等于约束为松驰变量(SLACK);+

大于等于约束为剩余变量(SURPLUS);-2023/10/28学习LINGO语言DUALPRICES:对偶价格或影子价格

DUALPRICES表示当对应约束有微小变动时,目标函数的变化率,即约束条件右端的常数项每增加一个单位,目标函数相应获得的改变量。显然,如果在最优解处约束正好取等号(紧约束),该值才可能不是0;对于非紧约束对该值必为0,表示对应约束中不等式右端项的微小扰动不影响目标函数。2023/10/28学习LINGO语言§2Lingo的基本用法注意事项2023/10/28学习LINGO语言1)每一个模型都以

model:

开始,又以

end

结束,也可省略此结构;2023/10/28学习LINGO语言2)目标函数必须由

min=

max=

开头。2023/10/28学习LINGO语言3)可以用<表示<=;

用>表示>=;Lingo无严格小于,欲使a<b,可以适当选取小的正常数e

表示成a+e<b,2023/10/28学习LINGO语言4)LINGO的每一语句以

;

结束;5)注释以!开始,以;

结束;2023/10/28学习LINGO语言变量名:

.不区分大小写

.由字母数字下划线组成

.第一个字符必须是字母

.变量名最长为32个字符2023/10/28学习LINGO语言LINGO编辑器用蓝色显示LINGO关键字

绿色显示注释其他文本用黑色

匹配的括号用红色高亮度显示2023/10/28学习LINGO语言8)变量和数字放在约束条件的左、右端均可;

但最好变量在左,数字在右。9)Lingo变量默认域为非负实数,可以改变默认域.2023/10/28学习LINGO语言10)行名[name]

例:

[Objective]max=2*x+3*y;

[Con1]4*x+3*y<10;

[Con2]3*x+5*y<12;

线性规划(行名).lg4

默认为[1],[2],[3]2023/10/28学习LINGO语言Globaloptimalsolutionfound.Objectivevalue:7.454545Totalsolveriterations:2VariableValueReducedCostX1.2727270.000000Y1.6363640.000000RowSlackorSurplusDualPrice

OBJECTIVE7.4545451.000000

CON10.0000000.9090909E-01

CON2

0.0000000.54545452023/10/28学习LINGO语言§3LINGO的建模语言2023/10/28学习LINGO语言以运输实例逐步分析6个仓库向8个小贩供应同一种货物,如何运,总运输费用最小?注:每个仓库可以向每个小贩供货,一共48个可能运货路线。仓库货存量、小贩需求量、每条路线的单位运输费用三个表如下:2023/10/28学习LINGO语言仓库货存量:capacity仓库号货存量w160w255w351w443w541w6522023/10/28学习LINGO语言小贩需求量:demand

小贩代号

货物需求量v135v237v322v432v541v632v743v8382023/10/28学习LINGO语言每单位货物运输费用表:cost

小仓贩库v1v2v3v4v5v6v7v8w162674259w249538582w352197433w476739271w523957265w6552281432023/10/28学习LINGO语言demand_j表示第j个小贩的需求量capacity_i

表示第i个仓库的库存量cost_i_j表示从第i个仓库到第j个小贩的单位运输费用已知数量决策变量volume_i_j表示从第i个仓库到第j个小贩的运输量2023/10/28学习LINGO语言数学模型可表示如下:2023/10/28学习LINGO语言当然目标函数可以如下输入:min=6*volume_1_1+

2*volume_1_2+

6*volume_1_3+...

1*volume_6_6+

4*volume_6_7+

3*volume_6_8;2023/10/28学习LINGO语言

但是较大模型如果像上面那样输入又费时,又容易出错!这就需要LINGO的建模语言2023/10/28学习LINGO语言LINGO的建模语言优点:1)可以用类似于标准数学符号的方式表示你的模型;2)可以用一个紧凑的语句表示一系列约束。3)数据可独立于模型:LINGO可以从文本文件、电子数据表、数据库中读取数据。2023/10/28学习LINGO语言LINGO模型的构成:5个段

目标函数与约束条件段集合段(sets:endsets)数据段(data:enddata)初始段(init:endinit)计算段(calc:endcalc)Lingo建模语言的重点和难点是:对集合概念的理解和正确使用2023/10/28学习LINGO语言为什么使用集合

集合是LINGO建模语言的基础,是LINGO程序设计最强有力的基本构件。借助于集合,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。2023/10/28学习LINGO语言什么是集合

集合是一群相联系的对象,比如仓库、小贩、运输路线,这些对象也称为集合的成员。每个集合成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性。属性值可以预先给定,也可以是未知的,有待于LINGO求解。2023/10/28学习LINGO语言从我们的数学模型看需要三个集合:(1)仓库-6个成员-货存量(2)小贩-8个成员-需求量(3)运输路线-48个成员

-单位运费和运货量2023/10/28学习LINGO语言LINGO有两种类型的集合原始集合(primitiveset):由一些最基本的对象组成的。

派生集(derivedset):用一个或多个其它集来定义的,也就是说,它的成员来自于其它已存在的集。2023/10/28学习LINGO语言**下面我们学习集合定义部分**1.以sets:开始,以endsets结束;

sets:…endsets2023/10/28学习LINGO语言2.原始集合定义法:setname[/member_list/][:attribute_list];。setname是集合的名字;。member_list是成员列表,各成员之间可用空格或逗号分隔;。attribute_list是集合成员所具有的属性列表,多个属性之间用逗号分隔;。原始集合的member_list,attribute_list是可选项;2023/10/28学习LINGO语言*仓库和小贩的集合可如下定义*sets:

warehouses

/w1w2w3w4w5w6/:

capacity;

vendors

/v1,v2,v3,v4,v5,v6,v7,v8/:demand;endsets2023/10/28学习LINGO语言*成员较多时,可使用隐式成员列表setname/member1..memberN/

[:attribute_list];2023/10/28学习LINGO语言数字型字符数字型星期型月份型年份-月份型*隐式成员列表类别*2023/10/28学习LINGO语言(1)数字型1..n

例:1..5(1,2,3,4,5)(2)字符数字型stringM..stringN例:truck3..truck342023/10/28学习LINGO语言(3)星期型dayM..dayN例:mon..fri(Mon,Tue,Wed,Thu,Fri)(4)月份型MonthM..MonthN例:OCT..JAN(Oct,Nov,Dec,Jan)2023/10/28学习LINGO语言(5)年份-月份型monthYearM..monthYearN例:OCT2001..JAN2002

(2001.102001.112001.122002.1)2023/10/28学习LINGO语言*仓库和小贩的集合也可如下定义*sets:

warehouses

/w1..w6/:

capacity;

vendors

/v1..v8/:

demand;endsets2023/10/28学习LINGO语言3.派生集合定义法:setname(parent_set_list)[/member_list/][:attribute_list];parent_set_list是父集合名列表2023/10/28学习LINGO语言*48条运输路线集合定义*links(warehouses,vendors):cost,volume;2023/10/28学习LINGO语言*三个集合定义如下*sets:

warehouses/wh1..wh6/:capacity;

vendors/v1..v8/:demand;

links(warehouses,vendors):

cost,volume;endsets2023/10/28学习LINGO语言运输问题的三个集合说明:这段代码定义了4个属性值,在接下来的模型中就可以使用属性值capacity(1),capacity(2),…,capacity(6);demand(1),demand(2),…,demand(8);cost(1,1),cost(1,2),…,cost(1,8),cost(2,1),cost(2,2),…,cost(2,8),…,cost(6,1),cost(6,2),…,cost(6,8);volume的引用同cost。2023/10/28学习LINGO语言4.集合成员过滤:trucks/1..100/:capacity;heavy_duty(trucks)|capacity(&1)#gt#50000

:;&1是集合索引号放置器,如果有两个父集合,就是&1,&22023/10/28学习LINGO语言**下面我们学习数据定义**以data:开始,以enddata结束;

data:..enddata2023/10/28学习LINGO语言例如:设有如下集合sets:

set1/a,b,c/:x,y;endsets如果想赋值

x(1)=1,x(2)=2,x(3)=3,y(1)=4,y(2)=5,y(3)=6,则数据段可以为2023/10/28学习LINGO语言data:x=1,2,3;y=456;enddatadata:x,y=142536;enddata

多个数据之间可用逗号或空格分隔2023/10/28学习LINGO语言若成员属性值相同,数据段定义如下:data:x=3;!(所有成员的x=3);y=6;!(所有成员的y=6);enddata

2023/10/28学习LINGO语言也可以在运行时输入属性值:data:x=?;

!(运行时输入所有成员的x值);y=6;enddata2023/10/28学习LINGO语言*运输问题的数据部分*data:capacity=60,55,51,43,41,52;demand=3537223241324338;2023/10/28学习LINGO语言cost=626742594953858252197433767392712395726555228143;enddata2023/10/28学习LINGO语言sets:

sett:x,y;endsetsdata:sett,x,y=a14b25c36;enddata

sets:

sett/a,b,c/:x,y;endsetsdata:x=123;y=456;enddata

集合成员可以在数据段定义:2023/10/28学习LINGO语言运输实例:sets:warehouses:capacity;endsetsdata:!可以写成warehouses=w1..w6;!也可以同时定义集合成员列表和属性值;

warehouses,capacity=w160,w255,w351,w443,w541,w652;enddata2023/10/28学习LINGO语言**初始化定义**

只在非线性规划中使用,指定初始值。

init:..endinit2023/10/28学习LINGO语言

例:init:

x=0.999;y=0.002;

endinity<=@log(x);x^2+y^2<=1;给了恰当的初始值,会减少运算时间。2023/10/28学习LINGO语言**计算段定义**calc:...endcalc计算段的作用:在模型输入后,LINGO开始正式求解模型之前对原始数据进行一定的计算,得到我们模型中要使用的部分数据。2023/10/28学习LINGO语言一个简单的计算段例子:model:data:x,y,z=1,2,3;enddatacalc:avg=(x+y+z)/3;endcalcend2023/10/28学习LINGO语言**目标函数和约束条件段**LINGO提供了集合循环函数和集合操作函数使得目标函数和约束条件的书写如同数学公式那样简单。四个集合循环函数FOR、SUM

、MAX、MIN2023/10/28学习LINGO语言@sum(

setname

[(set_index_list)[|condition]]

:expression);求和2023/10/28学习LINGO语言*运输问题的目标函数*min=@sum(links(i,j):

cost(i,j)*volume(i,j));min=@sum(links:

cost*volume);2023/10/28学习LINGO语言*运输问题实例中的求和*!从6个仓库发到第j个小贩的货物量总和;@sum(warehouses(i):

volume(i,j));2023/10/28学习LINGO语言从第i个仓库发出到8个小贩的货物量总和;@sum(vendors(j):

volume(i,j))2023/10/28学习LINGO语言@for

(setname

[(set_index_list)[|condition]]

:expression_list);

生成约束@for

对集合setname中的每个成员独立地生成约束,约束由约束表达式列表expression_list描述;多个表达式之间用分号相隔。2023/10/28学习LINGO语言*每个小贩的需求约束*!(要求6个仓库发给每个小贩的货物总量=小贩的需求量);@for(vendors(j):

@sum(warehouses(i):volume(i,j))

=demand(j));2023/10/28学习LINGO语言*每个仓库的供货约束*@for(warehouses(i):

@sum(vendors(j):volume(i,j))<capacity(i)

);!(要求每个仓库发给8个小贩的货物总量<仓库的货存量);2023/10/28学习LINGO语言*运输问题的完整模型

运输问题.lg42023/10/28学习LINGO语言返回集合setname上的表达式expression的最大值@max

(setname

[(set_index_list)

[|condition]]

:expression);2023/10/28学习LINGO语言@min

(

setname

[(set_index_list)

[|condition]]

:expression

);

返回集合setname上的表达式expression的最小值2023/10/28学习LINGO语言

返回数据集setname中成员element的位置号(下标)*集合操作函数*@index([setname,]element)2023/10/28学习LINGO语言model:sets:girls/debbie,sue,alice/:;boys/bob,joe,sue,fred/:;endsetscalc:x=@index(boys,sue);y=@index(sue);endcalcend2023/10/28学习LINGO语言@in(set_name,

primitive_index_1

[,primitive_index_2…])

如果数据集set_name中包含成员primitive_index_1则返回1,否则返回0。2023/10/28学习LINGO语言例:model:sets:plants/a,b,c,d/:;closed(plants)/b/:;open(plants)|#not#@in(closed,&1):x;endsetsdata:x=1,2,3;enddataend2023/10/28学习LINGO语言

例2:model:sets:s1/abc/:;s2/xyz/:;s3(s1,s2)/a,xa,zb,yc,z/:;endsetscalc:x=@in(s3,@index(s1,b),@index(s2,y));endcalcend

本例要判断集合s3中是否包含元素(b,y),运行LINGO|SOLVE得到x=1,说明包含。2023/10/28学习LINGO语言@wrap(index,limit)

当index位于区间[1,limit]时返回index,否则返回j=index-k*limit,其中j位于区间[1,limit]2023/10/28学习LINGO语言职员时序安排模型

一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天,试求每周所需最少职员数,并给出安排。注意这里我们考虑稳定后的情况。2023/10/28学习LINGO语言sets:days/mon..sun/:required,start;endsetsdata:required=20161316191412;enddatamin=@sum(days:start);!最小化每周所需职员数;@for(days(j):@sum(days(i)|i#le#5:start(@wrap(j+i+2,7)))>=required(j));2023/10/28学习LINGO语言@size(setname)

返回集合setname中所包含的成员个数。2023/10/28学习LINGO语言第二章

LINGO与其它软件交换数据2023/10/28学习LINGO语言拷贝、粘贴FromExelPastefromexel.lg42023/10/28学习LINGO语言

输入输出函数用来与外部数据源连接

@text()、@ole()、@file()、@odbc()、@dual()2023/10/28学习LINGO语言@file(‘’)在模型的集合和数据部分使用,从文本文件输入数据.2023/10/28学习LINGO语言sets:warehouses/@file(‘1.txt’)/:capacity;vendors/@file(‘1.txt’)/:demand;links(warehouses,vendors):cost,volume;endsets

运输实例的数据可以从文本文件输入:2023/10/28学习LINGO语言data:capacity=@file('1.txt');demand=@file('1.txt');cost=@file('1.txt');enddata1.txt文件内容1.txt2023/10/28学习LINGO语言@text(‘’)

在模型的数据部分使用,向文本文件输出数据.Outputtotext.lg42023/10/28学习LINGO语言@ole(‘spreadsheet_file’

[,range_name_list])

在模型的数据和集合部分使用,与excel交换数据2023/10/28学习LINGO语言运输实例的数据可以从Excel输入:sets:

warehouses:capacity;vendors:demand;links(warehouses,vendors):cost,volume;endsets2023/10/28学习LINGO语言data:

warehouses,vendors,capacity,demand,cost

=@ole(

‘2.xls’,

‘warehouses’,

‘vendors’,

‘capacity’,

‘demand’,

‘cost’);

enddata2023/10/28学习LINGO语言在Excel中定义单元格范围名称的方法:①按鼠标左键拖曳选择单元格范围,②释放鼠标按钮,③选择“插入|名称|定义”,④输入希望的名字,⑤点击“确定”按钮。2023/10/28学习LINGO语言2.xls

从Excel输入数据.lg42023/10/28学习LINGO语言@odbc(['data_source'[,'table_name'[,col_1'[,'col_2'...]]]]

)

在模型的数据部分使用,与数据库进行数据传输2023/10/28学习LINGO语言运输实例的数据可以从数据库输入:sets:

warehouses:capacity;vendors:demand;links(warehouses,vendors):cost,volume;endsets2023/10/28学习LINGO语言data:

warehouses,capacity=@odbc();

vendors,demand=@odbc();

links,cost=@odbc();

@odbc()=volume;

enddata2023/10/28学习LINGO语言trans.mdb

与数据库的数据传递.lg42023/10/28学习LINGO语言第三章

LINGO的内部函数2023/10/28学习LINGO语言1.标准运算符•算术运算符:

^*/+-•逻辑运算符:

#EQ##NE##GE##GT##LE##LT##NOT##AND##OR#2023/10/28学习LINGO语言•关系运算符:

=<=>=

可以用<表示<=或<2023/10/28学习LINGO语言运算符的优先级优先级运算符最高#NOT#—(负号)^*/+—(减法)#EQ##NE##GT##GE##LT##LE##AND##OR#最低<(=)=>(=)2023/10/28学习LINGO语言lingo变量默认域为非负实数@free(variable)

取消默认域,使变量可以取任意实数@gin(variable)限制变量取整数值@bin(variable)限制变量取值为0,1@bnd(low,variable,up)

限制变量于一个有限的范围3.变量界定函数2023/10/28学习LINGO语言练习1x1=2,

x2=3,Z*=-17练习12023/10/28学习LINGO语言练习2X1=1X2=0X3=1Z=8练习22023/10/28学习LINGO语言@abs(x)、@cos(x)、@sin(x)、@tan(x)、@exp(x)、@sign(x)@floor(x)(返回x的整数部分)@smax(x1,x2,…,xn)(返回x1,x2,…,xn的最大值)@smin(x1,x2,…,xn)4.数学函数2023/10/28学习LINGO语言5.条件控制@if(logical_condition,true_result,false_result)计算logical_condition,若真返回true_result否则返回false_result.2023/10/28学习LINGO语言7个选项卡(可设置80-90个控制参数)2023/10/28学习LINGO语言范例

2023/10/28学习LINGO语言整数规划整数规划.lg42023/10/28学习LINGO语言二次规划的例子(lingo).lg42023/10/28学习LINGO语言递规调用.lg4

已知,求a[7]

2023/10/28学习LINGO语言

学习方法:(1)上课各位老师讲的每个有数据的规划模型上机用lingo语言实践;(2)LINGO的help下有一项AdditionalExamplesofLINGOModeling,可以仔细研究每个例子的模型。2023/10/28学习LINGO语言某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?

练习32023/10/28学习LINGO语言

练习3车床类型单位工件所需加工台时数单位工件的加工费用可用台时数工件1工件2工件3工件1工件2工件3甲0.41.11.013910800乙0.51.21.3111289002023/10/28学习LINGO语言解1

设在甲车床上加工工件1、2、3的数量为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:

2023/10/28学习LINGO语言解2

设在甲车床上加工工件i的数量为x(i),单位工件所需加工台时数为timex(i),单位工件的加工费用为costx(i),在乙车床上加工工件i的数量为y(i),单位工件所需加工台时数为timey(i)单位工件的加工费用为costy(i)工件i的加工数量为demand(i)2023/10/28学习LINGO语言数学模型2023/10/28学习LINGO语言Lingo建模sets:Chechuang/1..3/:costx,costy,timex,timey,x,y,demand;endsets2023/10/28学习LINGO语言Lingo建模min=@sum(chechuang:costx*x+costy*y)@sum(chechuang:timex*x)<800;@sum(chechuang:timey*y)<900;@for(chechuang:x+y=demand);@for(chechuang:@gin(x);@gin(y));2023/10/28学习LINGO语言data:costx=13,9,10;costy=11,12,8;timex=0.4,1.1,1;timey=0.5,1.2,1.3;demand=400,600,500;enddata练习32023/10/28学习LINGO语言Lingo-Generate-DisplaymodelMODEL:[_1]MIN=13*X_1+11*Y_1+9*X_2+12*Y_2+10*X_3+8*Y_3;[_2]0.4*X_1+1.1*X_2+X_3<=800;[_3]0.5*Y_1+1.2*Y_2+1.3*Y_3<=900;[_4]X_1+Y_1=400;[_5]X_2+Y_2=600;[_6]X_3+Y_3=500;@GIN(X_1);@GIN(Y_1);@GIN(X_2);@GIN(Y_2);@GIN(X_3);@GIN(Y_3);END2023/10/28学习LINGO语言练习4---求S到T的最短路56774968658336C1B1C2B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论