




已阅读5页,还剩85页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
优化模型和优化软件的重要意义 解决优化 决策问题的手段 经验积累 主观判断 作试验 比优劣 建立数学模型 优化模型 求最优策略 决策 最 优化 在一定条件下 寻求使目标最大 小 的决策 CUMCM赛题 50 与优化有关 规模大 需软件求解 2020 2 2 2 优化模型三要素 目标函数 约束条件 决策变量 优化问题的一般形式 可行解 满足约束 与可行域 可行解的集合 最优解 取到最小 大值的可行解 约束优化的简单分类 线性规划 LP 目标和约束均为线性函数非线性规划 NLP 目标或约束中存在非线性函数二次规划 QP 目标为二次函数 约束为线性整数规划 IP 决策变量 全部或部分 为整数整数线性规划 ILP 整数非线性规划 INLP 纯整数规划 PIP 混合整数规划 MIP 一般整数规划 0 1 整数 规划 连续优化 离散优化 建立优化模型时需要注意的几个基本问题 1 尽量使用实数优化 减少整数约束和整数变量2 尽量使用光滑优化 减少非光滑约束的个数如 尽量少使用绝对值 符号函数 多个变量求最大 最小值 四舍五入 取整函数等3 尽量使用线性模型 减少非线性约束和非线性变量的个数 如x y 5改为x 5y 4 合理设定变量上下界 尽可能给出变量初始值5 模型中使用的参数数量级要适当 利用LINGO求解简单的LP问题 在模型窗口中输入如下代码 min 2 x1 3 x2 x1 x2 350 x1 100 2 x1 x2 600 然后点击工具条上的按钮即可 例1 求解如下的LP问题 运算结果 LINGO是用来求解线性和非线性优化问题的简易工具 LINGO内置了一种建立最优化模型的语言 可以简便地表达大规模问题 利用LINGO高效的求解器可快速求解并分析结果 当你在windows下开始运行LINGO系统时 会得到类似下面的一个窗口 外层是主框架窗口 包含了所有菜单命令和工具条 其它所有的窗口将被包含在主窗口之下 在主窗口内的标题为LINGOModel LINGO1的窗口是LINGO的默认模型窗口 建立的模型都都要在该窗口内编码实现 LINGO的基本用法的几点注意事项 LINGO中不区分大小写字母 用LINGO解优化模型时已假定所有变量非负实数 除非用限定变量取值范围的函数 free或 bin等另行说明 变量可以放在约束条件的右端 同时数字也可放在约束条件的左端 但为了提高LINGO求解时的效率 应尽可能采用线性表达式定义目标和约束 如果可能的话 语句是组成LINGO模型的基本单位 每个语句都以分号结尾 编写程序时应注意模型的可读性 例如 一行只写一个语句 按照语句之间的嵌套关系对语句安排适当的缩进 增强层次感 以感叹号开始的是说明语句 说明语句也需要以分号结束 返回 程序语句输入的注意事项 LINGO总是根据 MAX 或 MIN 寻找目标函数 约束条件语句的顺序并不重要 限定变量取整数值的语句为 GIN X1 和 GIN X2 不可以写成 GIN 2 否则LINGO将把这个模型看成没有整数变量 LINGO中函数一律需要以 开头 如求和函数 SUM 整型变量函数 BIN GIN 和上下界限定函数 FREE BND 返回 Globaloptimalsolutionfoundatiteration 4Objectivevalue 800 0000VariableValueReducedCostX1250 00000 000000X2100 00000 000000RowSlackorSurplusDualPrice1800 0000 1 00000020 000000 4 0000003150 00000 00000040 0000001 000000 例 某厂生产一种产品 其需求具有季节性 假定每年只能在连续的三个月内进行生产和销售 生产可以按正常工作时间进行 也可以加班 前两个月的月产量可以大于当月的销售量而将多余的产品存储 但要付出存储费 而在第三个月月末要将产品全部售完 设产品在正常工作时间 每月最多能生产 单位 单位成本为 元 在加班时间生产 每月最多能生产 单位 单位成本 元 每月生产量及平均成本不一定要相等 存储费每月每单位 元 三个月的需求量分别为 和 单位 试确定每月在正常时间及加班时间各生产多少产品 使总成本最小 解 设在第i个正常时间内生产的产品数为xi i 1 2 3 在第i月加班时间内生产的产品数为yi i 1 2 3 在第i月末存储的产品数为si i 1 2 则总成本为生产能力约束为 产品需求约束为 变量均为非负 即于是该生产进度问题的线性规划模型为 st 在lingo命令窗口中输入 Min 75 x1 x2 x3 95 y1 y2 y3 0 5 s1 s2 X1 300 x2 300 X3 300 X1 y1 s1 160 X2 y2 s1 s2 380 X3 y3 s2 300 例 某服务部门一周中每天需要不同数目的员工 周一到周四每天至少需要 人 周五至少需要 人 周六和周日每天至少需要 人 现规定应聘者需要连续工作 天 试确定聘用方案 即周一到周日每天聘用多少人 使在满足需要的条件下聘用总人数最少 优化模型决策变量 记周一到周日每天聘用的人数分别为x1 x2 x3 x4 x5 x6 x7 目标函数 目标函数是聘用总人数 即Z x1 x2 x3 x4 x5 x6 x7约束条件 约束条件由每天需要的人数确定 由于每人连续工作 天 所以周一工作的员工应是周四到周一聘用的 按照需要至少有 人 于是X1 x4 x5 x6 x7 50同理有X1 x2 x5 x6 x7 50X1 x2 x3 x6 x7 50X1 x2 x3 x4 x7 50X1 x2 x3 x4 x5 80X2 x3 x4 x5 x6 90X3 x4 x5 x6 x7 90人数应该是整数 所以x1 x2 x7 0 xi是整数 编程如下 min x1 x2 x3 x4 x5 x6 x7 X1 x4 x5 x6 x7 50 X1 x2 x5 x6 x7 50 X1 x2 x3 x6 x7 50 X1 x2 x3 x4 x7 50 X1 x2 x3 x4 x5 80 X2 x3 x4 x5 x6 90 X3 x4 x5 x6 x7 90 gin x1 gin x2 gin x3 gin x4 gin x5 gin x6 gin x7 变量界定函数 Globaloptimalsolutionfound Objectivevalue 94 00000Extendedsolversteps 0Totalsolveriterations 7VariableValueReducedCostX10 0000001 000000X24 0000001 000000X340 000001 000000X43 0000001 000000X540 000001 000000X63 0000001 000000X74 0000001 000000RowSlackorSurplusDualPrice194 00000 1 00000020 0000000 00000031 0000000 00000041 0000000 00000051 0000000 00000067 0000000 00000070 0000000 00000080 0000000 000000 例 一汽车厂生产小 中 大三种类型的汽车 已知各类型每辆车对钢材 劳动时间的需求 利润以及每月工厂钢材 劳动时间的现有量如下表所示 1 生产多少时 利润最大 2 由于各种条件限制 如果生产某一类型汽车的话 就必须生产80辆 要么不生产 试制订月生产计划 使工厂的利润最大 模型建立与求解 设每月生产小 中 大型汽车的数量分别为x1 x2 x3 由于生产是一个月一个月连续进行的 所以这里可以合理地认为这个产量不一定非取整数不可 而是可以取实数 立即可得线性规划模型 2 如果生产某一类型汽车 就必须生产80辆 换种说法 要么生产 辆 要么不生产 这个约束怎么表达 可以引入0 1变量 化为整数规划 设y1只取0 1两个值 则 xi 0或80 等价于 其中M为相当大的正数 本例可取1000 x1不可能超过1000 类似地有 于是这个模型构成一个混合整数规划模型 既有一般的实数变量x 又有0 1变量y 用LINGO直接求解时 只需要加上0 1变量y的限定语句 在LINGO模型窗口中输入模型 max 2 x1 3 x2 4 x3 1 5 x1 3 x2 5 x3 600 280 x1 250 x2 400 x3 60000 x1 80 y1 x2 80 y2 x3 80 y3 bin y1 bin y2 bin y3 Globaloptimalsolutionfound Objectivevalue 480 0000Extendedsolversteps 0Totalsolveriterations 0VariableValueReducedCostX180 000000 000000X20 0000000 000000X380 000000 000000Y11 000000 160 0000Y20 000000 240 0000Y31 000000 320 0000RowSlackorSurplusDualPrice1480 00001 000000280 000000 00000035600 0000 00000040 0000002 00000050 0000003 00000060 0000004 000000 即 只生产小型和中型汽车 产量分别为80辆和150辆 近似值 可获得最大利润611 2万元 练习 某公司需要决定下四个季度的帆船生产量 下四个季度的帆船需求量分别是40条 60条 75条 25条 这些需求必须按时满足 每个季度正常的生产能力是40条帆船 每条船的生产费用为400美元 如果加班生产 每条船的生产费用为450美元 每个季度末 每条船的库存费用为20美元 初始库存为10条船 如何安排生产可使总费用最小 解 用xi yi zi si i 1 2 3 4 分别表示四个季度的需求量 正常生产的产量 加班生产的产量 库存量 目标函数是所有费用的和 约束条件主要有两个 1 能力限制 2 产品数量的平衡方程 加上变量的非负约束 Min 400 y1 450 z1 20 s1 400 y2 450 z2 20 s2 400 y3 450 z3 20 s3 400 y4 450 z4 20 s4 y1 40 y2 40 y3 40 y4 40 s1 y2 z2 s2 60 s2 y3 z3 s3 75 s3 y4 z4 s4 25 y1 z1 s1 30 Globaloptimalsolutionfound Objectivevalue 78450 00Totalsolveriterations 8VariableValueReducedCostY140 000000 000000Z10 00000020 00000S110 000000 000000Y240 000000 000000Z210 000000 000000S20 00000020 00000Y340 000000 000000Z335 000000 000000S30 00000070 00000Y425 000000 000000Z40 00000050 00000S40 000000420 0000RowSlackorSurplusDualPrice178450 00 1 00000020 00000030 0000030 00000050 0000040 00000050 00000515 000000 00000060 000000450 000070 000000450 000080 000000400 000090 000000430 0000 即 全局最优解RP 40 40 40 25 OP 0 10 35 0 最小成本 78450 MODEL SETS QUARTERS 1 2 3 4 x y z s ENDSETSDATA x 40 60 75 25 ENDDATAMIN SUM QUARTERS I 400 y I 450 z I 20 s I FOR QUARTERS I y I 40 FOR QUARTERS I I GT 1 s I s I 1 y I z I x I s 1 10 y 1 z 1 x 1 END 运算符 LINGO中的集合 集合是一群相联系的对象组成的 这些对象称为集的成员 每个集成员可能有一个或多个与之有关联的特征 我们把这些特征称为属性 例如 产品集中的每个产品可以有一个价格属性 卡车集中的每辆卡车可以有一个牵引力属性 雇员集中的每位雇员可以有一个薪水属性 也可以有一个生日属性等等 属性值可以预先给定 也可以是未知的 有待于LINGO求解 LINGO有两种类型的集合 原始集 primitiveset 和派生集 derivedset 原始集 直接把元素列举出来的集合 派生集 基于原始集而派生出来的二维或多维集合 模型的集部分 定义原始集 定义一个原始集 用下面的语法 setname member list attribute list 集合名称 集合元素 属性 定义在集合上的 注意 用 表示该部分内容可省略 下同 不再赘述 Setname是你选择的来标记集的名字 最好具有较强的可读性 集名字必须严格符合标准命名规则 以拉丁字母或下划线 为首字符 由拉丁字母 A Z 下划线 阿拉伯数字 0 1 9 组成的总长度不超过32个字符的字符串 且不区分大小写 Member list是集成员列表 如果集成员放在集定义中 那么对它们可采取显式罗列和隐式罗列两种方式 在LINGO模型中使用集之前 必须在集部分事先定义 集部分以关键字 sets 开始 以 endsets 结束 一个模型可以没有集部分 或有一个简单的集部分 或有多个集部分 一个集部分可以放置于模型的任何地方 但是一个集及其属性在模型约束中被引用之前必须定义了它们 当显式罗列成员时 必须为每个成员输入一个不同的名字 中间用空格或逗号搁开 允许混合使用 例 可以定义一个名为students的原始集 它具有成员John Jill Rose和Mike 属性有sex和age sets students JohnJill RoseMike sex age EndsetsSets jihe 1 2 3 4 x y endsets 当隐式罗列成员时 不必罗列出每个集成员 可采用如下语法 setname member1 memberN attribute list 这里的member1是集的第一个成员名 memberN是集的最末一个成员名 LINGO将自动产生中间的所有成员名 LINGO也接受一些特定的首成员名和末成员名 用于创建一些特殊的集 列表如下 练习 集合元素的隐式列举 定义派生集 用下面的语法定义一个派生集 派生集名字 集1 集2 派生集成员 属性 集1 集2 是已定义的原始集的列表 多个时必须用逗号隔开 例如 sets product A machine MN allowed product machine x endsetsLINGO生成了2个父集的所有组合共2组作为allowed集的成员 列表如下 编号成员1 A M 2 A N 成员列表被忽略时 派生集成员由父集成员所有的组合构成 这样的派生集成为稠密集 如果限制派生集的成员 使它成为父集成员所有组合构成的集合的一个子集 这样的派生集成为稀疏集 一个派生集的成员列表有两种方式生成 显式罗列 设置成员资格过滤器 当采用方式 时 必须显式罗列出所有要包含在派生集中的成员 并且罗列的每个成员必须属于稠密集 使用前面的例子 显式罗列派生集的成员 allowed product machine AM AN 如果需要生成一个大的 稀疏的集 那么显式罗列就很麻烦 幸运地是许多稀疏集的成员都满足一些条件以和非成员相区分 我们可以把这些逻辑条件看作过滤器 在LINGO生成派生集的成员时把使逻辑条件为假的成员从稠密集中过滤掉 例如 sets students linkmf students students c endsetssets students 1 2 3 4 linkmf students students 过滤器 endsets 集合的类型 集合派生集合基本集合稀疏集合稠密集合元素列表法元素过滤法直接列举法隐式列举法 setname member list attribute list setname parent set list member list attribute list SETS CITIES A1 A2 A3 B1 B2 ROADS CITIES CITIES A1 B1A1 B2A2 B1A3 B2 D ENDSETS SETS STUDENTS S1 S8 PAIRS STUDENTS STUDENTS ENDSETS 模型的数据部分 数据部分以关键字 data 开始 以关键字 enddata 结束 在这里 可以指定集成员 集的属性 其语法如下 属性名 多个值用逗号或空格分开 属性取值列表 多个值用逗号或空格分开 注意 属性取值的个数必须等于集成员的个数 例如sets set1 A B C X Y endsetsdata X 1 2 3 Y 4 5 6 enddata在集set1中定义了两个属性X和Y X的三个值是1 2和3 Y的三个值是4 5和6 Feasiblesolutionfound Totalsolveriterations 0VariableValueX A 1 000000X B 2 000000X C 3 000000Y A 4 000000Y B 5 000000Y C 6 000000 可采用如下例子中的复合数据声明 datastatement 实现同样的功能 例sets set1 A B C X Y endsetsdata X Y 142536 enddata看到这个例子 可能会认为X被指定了1 4和2三个值 因为它们是数值列中前三个 而正确的答案是1 2和3 sets students 1 2 3 4 linkmf students students c endsetsdata c 4 5 6 21 7 8 0 2 9 5 71 2 45 8enddata 用集合的语言生成一个初始值 实时数据处理在某些情况 对于模型中的某些数据并不是定值 譬如模型中有一个通货膨胀率的参数 我们想在2 至6 范围内 对不同的值求解模型 来观察模型的结果对通货膨胀的依赖有多么敏感 我们把这种情况称为实时数据处理 whatifanalysis LINGO有一个特征可方便地做到这件事 在本该放数的地方输入一个问号 例如 data x y 1 enddata每一次求解模型时 LINGO都会提示为参数y输入一个值 在WINDOWS操作系统下 将会接收到一个类似下面的对话框 直接输入一个值再点击OK按钮 LINGO就会把输入的值指定给inflation rate 然后继续求解模型 所有集合成员的属性为一个值可以在数据声明的右边输入一个值来把所有的成员的该属性指定为一个值 看下面的例子 sets days MO TU WE TH FR SA SU needs endsetsdata needs 20 enddataLINGO将用20指定days集的所有成员的needs属性 对于多个属性的情形 见下例 sets days MO TU WE TH FR SA SU needs cost endsetsdata needscost 20100 enddata 数据部分的未知数值有时只想为一个集的部分成员的某个属性指定值 而让其余成员的该属性保持未知 以便让LINGO去求出它们的最优值 两个逗号间可以有空格 sets years 1 5 capacity endsetsdata capacity 34 20 enddata属性capacity的第2个和第3个值分别为34和20 其余的未知 模型的初始部分一个初始部分以 init 开始 以 endinit 结束 初始部分的初始声明规则和数据部分的数据声明规则相同 也就是说 我们可以在声明的左边同时初始化多个集属性 可以把集属性初始化为一个值 可以用问号实现实时数据处理 还可以用逗号指定未知数值 init X Y 0 9 endinit又如 init X Y 0 endinit好的初始点会减少模型的求解时间 变量界定函数 变量界定函数实现对变量取值范围的附加限制 共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的限制 使变量也可以取负值 bnd用于设定一个变量的上下界 它也可以取消默认下界为0的约束 返回 运算符逻辑运算符 not 非 and 与 or 或 eq 等于 ne 不等于 gt 大于 ge 大于等于 lt 小于 le 小于等于 算术运算符 加法 减法 乘法 除法 求幂 这些运算符的优先级由高到低为 高 not eq ne gt ge lt le and or 低 集循环函数1 for for 集合名称 集合元素的表达式 不过 for函数允许只输入一个约束 然后LINGO自动产生每个集成员的约束 例计算y x 2在x 4 5 2 处的值 model sets number 1 2 3 x y endsetsdata x enddata for number I y I x I 2 end 2 sum sum 集合名称 集合元素的表达式 该函数返回遍历指定的集成员的一个表达式的和 例求向量 5 1 3 4 6 10 前5个数的和 model sets number 1 6 x endsetsdata x 5134610 enddatas sum number I I le 5 x end 练习 计算 Sets Shuzi 1 10 x EndsetsData X 1 2 3 4 5 6 7 8 9 10 EnddataZ sum shuzi x 3 min和 max max 集合名称 过滤器 集合属性的表达式 返回指定的集成员的一个表达式的最小值或最大值 例求向量 5 1 3 4 6 10 前5个数的最小值 后3个数的最大值 model sets number 1 x endsetsdata x 5134610 enddataminv min number i i le 5 x i maxv max number i i ge 4 x i End 数学函数LINGO提供了大量的标准数学函数 abs x 返回x的绝对值 sin x 返回x的正弦值 x采用弧度制 cos x 返回x的余弦值 tan x 返回x的正切值 exp x 返回常数e的x次方 log x 返回x的自然对数 lgm x 返回x的gamma函数的自然对数 sign x 如果x 0时 返回不超过x的最大整数 当x 0时 返回不低于x的最大整数 smax x1 x2 xn 返回x1 x2 xn中的最大值 smin x1 x2 xn 返回x1 x2 xn中的最小值 概率中的相关函数 找出y cosx在x 点出的最大值 编程如下 Sets Dian 1 2 3 x y EndsetsData X 4 3 8 Enddata for dian y cos x min max dian y for dian free y 返回 例5 指派问题 某队从 名游泳队员中选择 人组成接力队 参加学校的 m混合泳接力比赛 名队员 种泳姿的百米平均成绩如下表 问应如何选拔队员组成接力队 问题分析用 变量表示一个队员是否入选接力队 从而建立这个问题的 规划模型 借助lingo求解模型的建立与求解记甲乙丙丁戊分别为队员i 1 2 3 4 5 记蝶泳 仰泳 蛙泳 自由泳分别为泳姿j 1 2 3 4 记队员i的第j种泳姿的百米最好成绩为cij 秒 则有下表 引入 变量xij 若选择队员i参加泳姿j的比赛 记xij 1 否则记为 根据组成接力队的要求 xij应满足两个约束条件 每人最多只能入选 种泳姿之一 即对于i 1 2 3 4 5 应有 每种泳姿必须有 人而且只能有 人入选 即有 当队员i入选泳姿j时 cijxij表示队员的成绩 否则cijxij 0 于是接力队的成绩可表示为这就是目标函数 故该问题的模型为 Model Sets Duiyuan 1 2 3 4 5 Yongzi 1 2 3 4 Chengji duiyuan yongzi c x EndsetsData C 66 875 68758 657 26666 4537867 884 659 47074 269 657 267 47183 862 4 EnddataMin sum chengji i j c i j x i j 或 Min sum duiyuan i sum yongzi j c i j x i j for duiyuan i sum yongzi j x i j 1 for yongzi j sum duiyuan i x i j 1 for chengji bin x 求解得到的结果是 x14 x21 x32 x43 1 其他为 成绩为253 2 4 13 2 即当选派甲乙丙丁 人组成接力队 分别参加自由泳 蝶泳 仰泳 蛙泳的比赛 练习 运输问题 使用LINGO软件计算6个发点8个收点的最小费用运输问题 产销单位运价如下表 单位销地 模型的建立和求解 记ai为产地i的产量 Bj为销地j的销量cij为产地i到销地j的单位运价 Dij为产地i到销地j的运输量 该问题模型如下 model sets chandi 1 6 a xiaodi 1 8 b links chandi xiaodi c d endsetsmin sum links c d for xiaodi J sum chandi I d I J b J for chandi I sum xiaodi J d I J a I data a 605551434152 b 3537223241324338 c 626742954953858252197433767392712395726555228143 enddataend 例10现有6个人做6项工作 现求一种指派方式使得每个人完成一种工作 使其收益最大 解 设cij为第i个人做第j项工作的收益 引如0 1变量xij 当第i个人做第j项工作时 xij 1 否则xij 0 可得模型 例6 选址问题 建筑工地的位置 用平面坐标a b表示 距离单位 公里 及水泥日用量d 吨 下表给出 有两个临时料场位于P 5 1 Q 2 7 日储量各有20吨 从P Q两料场分别向各工地运送多少吨水泥 使总的吨公里数最小 两个新的料场应建在何处 节省的吨公里数有多大 建立模型 使用现有临时料场时 决策变量只有 非负 所以这是LP模型 当为新建料场选址时决策变量为和 由于目标函数对是非线性的 所以在新建料场时是NLP模型 先解NLP模型 而把现有临时料场的位置作为初始解告诉LINGO 记工地的位置为 水泥日用量为 料场位置为 日储量为 从料场向工地的运送量为 例 某架货机有三个货舱 前仓 中仓 后仓 三个货舱所能装载的货物的最大重量和体积都有限制 如下表 前仓中仓后仓重量限制 t 体积限制 m 680087005300现有四类货物供该货机本次飞行装运 其有关信息如下表 最后一列指装运后所获得的利润 重量 t 空间 m3 t 利润 元 t 货物 货物 货物 货物 应如何安排装运 使该货机本次飞行获力最大 模型假设问题中没有对货物装运提出其他要求 我们可作如下假设 每种货物可以分割到任意小 每种货物可以在一个或多个货舱中任意分布 多种货物混装 并保证不留空隙 模型建立决策变量 用xij表示第i种货物装入第j个货舱的重量 吨 货舱j 1 2 3分别表示前仓 中仓 后仓 决策目标是最大化总利润 即maxZ 3100 x11 x12 x13 3800 x21 x22 x23 3500 x31 x32 x33 2850 x41 x42 x43 约束条件 供装载的四种货物的总重量约束 即x11 x12 x13 18x21 x22 x23 15x31 x32 x33 23x41 x42 x43 12 2 三个货舱的重量限制 即x11 x21 x31 x41 10X12 x22 x32 x42 16x13 x23 x33 x43 83 三个货舱的空间限制 即480 x11 650 x21 580 x31 390 x41 6800480 x12 650 x22 580 x32 390 x42 8700480 x13 650 x23 580 x33 390 x43 5300 sets huowu 1 2 3 4 a b c huocang 1 2 3 h d link huowu huocang x endsetsdata a 3100 3800 3500 2850 b 480 650 580 390 h 6800 8700 5300 c 18 15 23 12 d 10 16 8 enddatamax sum link i j a i x i j for huowu i sum huocang j x i j c i for huocang j sum huowu i x i j d j for huocang j sum huowu i b i x i j h j 例 转运问题 设有两个工厂A B 产量分别为9 8个单位 四个顾客1 2 3 4 需求量分别为3 5 4 5 和三个仓库x y z 其中工厂到仓库 仓库到顾客的运费单价分别由表7 4所示 试求总运费最少的运输方案 以及总运费 表7 4工厂到仓库 仓库到顾客的运费单价 说明 其中 表示两地无道路通行 解 写出相应的LINGO程序 程序名 exam0706a lg4 MODEL 2plants 3warehousesand4customersTransshipmentProblem sets Plant A B produce Warhouse x y z Customer 1 4 require LinkI Plant Warhouse cI xI LinkII Warhouse Customer cII xII endsets Herearetheparameters data produce 9 8 require 3 5 4 5 cI 1 2 100 3 1 2 cII 5 7 100 100 9 6 7 100 100 8 7 4 enddata Theobjective OBJ min sum LinkI cI xI sum LinkII cII xII Thesupplyconstraints for Plant i SUP sum Warhouse j xI i j produce i Thewarhouseconstraints for
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CAD产品外观设计方案
- 传统节庆传统规定和规划
- 2024年计算机二级题库检测试题打印带答案详解(培优B卷)
- 职业教育中的教学改革与发展规划
- 2023年度忻州职业技术学院单招《语文》高分题库附答案详解(模拟题)
- 专业知识要求的职位介绍
- 2025年化学杀虫剂行业研究报告及未来发展趋势预测
- 2025年火鸡行业研究报告及未来发展趋势预测
- 2025年杭州酒店行业研究报告及未来发展趋势预测
- 2025年红外探测芯片行业研究报告及未来发展趋势预测
- 汽车发动机电控系统实训工作页
- 矿山救援队伍训练大纲及考核要求
- 石油钻井用钻具培训讲义课件
- 管理层财务基础知识培训
- 整理词根词缀法初中英语学习
- 立式储罐重量表
- (高清版)建筑楼盖结构振动舒适度技术标准JGJ_T 441-2019
- 电气系统调试方案
- 呋喃树脂msds
- 节约用水情景剧表演
- 综合实践(我们的传统节日)
评论
0/150
提交评论