运筹学上机实验报告

合集下载

运筹学实验报告

运筹学实验报告

运筹学实验报告学院:经济管理学院专业班级:工商11-2班姓名:石慧婕学号:311110010207实验一线性规划一实验目的学习WinQSB软件的基本操作,利用Linear Programming功能求解线性规划问题。

掌握线性规划的基本理论与求解方法,重点在于单纯形法的应用以及灵敏度分析方法。

二、实验内容安装WinQSB软件,了解WinQSB软件在Windows环境下的文件管理操作,熟悉软件界面内容,掌握操作命令。

利用Linear Programming功能建立线性模型,输入模型,求解模型,并对求解结果进行简单分析。

三实验步骤1.将WinQSB文件复制到本地硬盘;在WinQSB文件夹中双击setup、exe。

2.指定安装WinQSB软件的目标目录(默认为C:\ WinQSB)。

3.安装过程需要输入用户名与单位名称(任意输入),安装完毕之后,WinQSB菜单自动生成在系统程序中。

4.熟悉WinQSB软件子菜单内容及其功能,掌握操作命令。

5.求解线性规划问题。

启动程序开始→程序→WinQSB→Linear and Integer Programming。

某工厂要用三种原材料C、P、H混合调配出三种不同规格的产品A、B、D。

已知产品的规格要求,产品单价,每天能供应的原材料数量及原材料单价分别见下表1与2。

该厂应如何安排生产,使利润收入为最大?表1表2CPH10010060652535(1)计算过程(1)利用WinQSB软件,根据建立的数据模型,设定完成后建立问题的电子表格;在电子表格中输入各个系数,保存。

如下图:点击菜单栏Solve and Analyze中的Solve the Problem项或者点击工具栏中的图标用单纯形法求解,查瞧求解得出的结果;(2)点击菜单栏Solve and Analyze中的Solve and Display Steps,查瞧单纯形法在求解该问题时的具体迭代步骤;点击菜单栏Solve and Analyze中的Graphic Method,用图解法求解,显示可行域。

管理运筹学上机实验

管理运筹学上机实验

实验报告2:P153习题1某公司在三个地方有三个分厂,生产同一种产品,其产量分别为300箱、600箱、500箱。

需要供应四个地方的销售,这四地的产品需求分别为400箱、250箱、350箱、200箱。

三个分厂到四个产地的单位运价如表所示。

应如何安排运输方案,使得总运费为最小。

在此问题中,三个分厂的总产量为1400单位,而总需求量为1200单位。

因此此问题为供求不相等的运输问题,且供大于求。

为此,除已有的四个销地外,可假设一销地,且三个分厂运往此销地的单位运费均为0。

即将假设的销地看为存储的仓库。

求解过程最优解如下********************************************起至销点发点 1 2 3 4-------- ---- ----- ----- -----1 0 250 0 502 400 0 0 03 0 0 350 150此运输问题的成本或收益为: 19800此问题的另外的解如下:起至销点发点 1 2 3 4-------- ----- ----- ----- -----1 0 250 50 02 400 0 0 03 0 0 300 200此运输问题的成本或收益为: 19800(2)如果2 分厂产量提高到600,则为产销不平衡问题最优解如下******************************************** 起至销点发点 1 2 3 4-------- ----- ----- ----- -----1 0 250 0 02 400 0 0 2003 0 0 350 0此运输问题的成本或收益为: 19050注释:总供应量多出总需求量200第1 个产地剩余50第3 个产地剩余150(3)销地甲的需求提高后,也变为产销不平衡问题最优解如下******************************************** 起至销点发点 1 2 3 4-------- ----- ----- ----- -----1 50 250 0 02 400 0 0 03 0 0 350 150此运输问题的成本或收益为: 19600总需求量多出总供应量150第1 个销地未被满足,缺少100第4 个销地未被满足,缺少50P255 习题1这是一个最短路问题,要求我们求出从v1 到v7 配送的最短距离。

运筹学-大M法或两阶段法的上机实验

运筹学-大M法或两阶段法的上机实验

. 1实验报告实验课程名称运筹学实验工程名称大M法或两阶段法的上机实验年级专业学生学号00 学院实验时间:年月日实验容〔包括实验具体容、算法分析、源代码等等〕:1.书上P97页第6题:用大M 法和两阶段法求解以下线性规划问题。

ma* z=5;3213x x x ++ 约束条件:102x 4x x 321≥++,16.x 2x -x 321≤+A :大M 法图1.1图1.2δ,得出目标函数的最优解*1=16,*2=0,由上面的结果可知,满足所求出的0≤j*3=0,s*4=16,R*5=0,s*=0,最优值是80。

当把M的值改为100000后,值还是一样的,这样就可以得出当M为100时,已经得出有效解。

B:两阶段法图1.3由图1.3可知,先进展线性规划的第一阶段,满足0≤j δ,且z 值为零,即说明存在一个可行解使得所有的人工变量都为零,此时*2=2.5,s*6=21,其余为0得出z=0。

接下来进展第二阶段,令z=5*1+*2+3*3-0s*4+0R*5+0s*6,和大M 的分析方法一样,最终将得到满足0≤j δ时到达最优解:当*1=16,*2=0,*3=0,s*4=6,R*5=0,s*6=0,最优值为80。

2.书上P97页第7题〔4〕大M 法和两阶段法求解以下线性规划问题 。

ma* z=;321x x 2x ++ 约束条件:,42x 2x 4x 321≥++,204x 2x 21≤+,162x 8x 4x 321≤++ A :大M 法图2.1图2.2由上面的图 2.1可知,首先先输入数据即线性规划的系数如图 2.1所示令ma* z=321x x 2x ++-0s*4+0s*6+0s*7-MR*5;进展下一次迭代,以同样的方法一直下去,直到所求出的为止0≤j δ,就可以得出目标函数的最优解:*1=4,s*4=12,s*6=12,其余为0时,最优值为8。

当把M 的值改为100000后,值还是一样的,这样就可以得出当M 为100时,已经得出有效解。

运筹学综合实验报告

运筹学综合实验报告

运筹学综合实验报告本次实验中,我们使用了运筹学的方法来解决了一个经典的优化问题,即整数线性规划问题(Integer Linear Programming,简称ILP)。

一、实验目的本次实验的主要目的是熟悉ILP的求解过程,了解ILP在实际问题中的应用,以及掌握使用现代优化软件Gurobi来求解ILP的方法。

二、实验原理1. 整数线性规划问题整数线性规划问题是在所有线性规划问题中的一个非常重要的子集。

它将优化目标函数的线性组合与整数限制相结合。

一个典型的ILP问题可以被描述为:最大化(或最小化)目标函数:\max(\min) \sum_{j=1}^{n}c_j x_j满足如下的约束条件:\sum_{j=1}^{n}a_{ij} x_j \leq b_i,\ i=1,2,\cdots,mx_j \geq 0,\ j=1,2,\cdots,nx_j \in Z,\ j=1,2,\cdots,nx_j表示自变量,c_j表示目标函数中的系数,a_{ij}表示第i个约束条件中x的系数,b_i表示约束条件的右侧常数,m表示约束条件的数量,n表示变量的数量。

最后两个约束条件要求自变量只能是整数。

2. Gurobi优化软件Gurobi是一个商业优化软件,经过多年的发展,已成为当前最流行的数学优化软件之一。

Gurobi支持多种数学优化方法,包括线性规划、非线性规划、混合整数规划、二次规划等。

Gurobi使用了现代算法来实现高效的求解效果,是工业和学术界备受推崇的优化软件。

三、实验内容1. 利用Gurobi求解整数线性规划问题我们使用Gurobi来求解如下的整数线性规划问题:\max\ \ 2x_1 + 3x_2 + 7x_3满足如下的约束条件:x_1 + x_2 + x_3 \leq 6x_1 - x_2 + x_3 \leq 4x_1, x_2, x_3 \in Z,\ x_1 \geq 0,\ x_2 \geq 0,\ x_3 \geq 0我们使用Python代码来实现该问题的求解过程:```pythonimport gurobipy as gbmodel = gb.Model("integer linear programming")# Create variablesx1 = model.addVar(vtype=gb.GRB.INTEGER, name="x1")x2 = model.addVar(vtype=gb.GRB.INTEGER, name="x2")x3 = model.addVar(vtype=gb.GRB.INTEGER, name="x3")# Set objectivemodel.setObjective(2*x1 + 3*x2 + 7*x3, gb.GRB.MAXIMIZE)# Add constraintsmodel.addConstr(x1 + x2 + x3 <= 6)model.addConstr(x1 - x2 + x3 <= 4)# Optimize modelmodel.optimize()# Print resultsprint(f"Maximum value: {model.objVal}")print(f"x1 = {x1.x}")print(f"x2 = {x2.x}")print(f"x3 = {x3.x}")```运行该代码,得到的输出结果为:```Optimize a model with 2 rows, 3 columns and 6 nonzerosVariable types: 0 continuous, 3 integer (0 binary)Coefficient statistics:Matrix range [1e+00, 1e+00]Objective range [2e+00, 7e+00]Bounds range [0e+00, 0e+00]RHS range [4e+00, 6e+00]Found heuristic solution: objective 9.0000000Presolve time: 0.00sPresolved: 2 rows, 3 columns, 6 nonzerosVariable types: 0 continuous, 3 integer (0 binary)Root relaxation: objective 1.500000e+01, 2 iterations, 0.00 secondsNodes | Current Node | Objective Bounds | WorkExpl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time0 0 15.00000 0 1 9.00000 15.00000 66.7% - 0sH 0 0 14.0000000 15.00000 7.14% - 0s0 0 15.00000 0 1 14.00000 15.00000 7.14% - 0sExplored 1 nodes (2 simplex iterations) in 0.03 secondsThread count was 4 (of 4 available processors)Solution count 2: 14 9Optimal solution found (tolerance 1.00e-04)Best objective 1.400000000000e+01, best bound 1.400000000000e+01, gap 0.0000%Maximum value: 14.0x1 = 2.0x2 = 4.0x3 = 0.0```经过Gurobi的求解,我们得到了最大值为14,同时x_1=2, x_2=4, x_3=0时取到最优值。

运筹学实验报告

运筹学实验报告

运筹学实验报告一实验一:线性规划【例l】某制药厂用甲、乙两台机器生产A、B两种药物。

每种药物要经过两道工序,在甲机器上搅拌,在乙机器上包装。

生产每千克药物所需的加工时间以及机器1周可用于加工的总时间如下表1所示。

已知生产每千克药物A的利润是30元,B是25元,问应如何安排1周的生产计划才能使工厂获利最大?表 1 两种药物在各机器上所需加工时间及各机器可用于加工的总时间(1)写出数学模型,建立新问题、输入选项(电子表格、变量取非负连续)、输入数据、存盘、求解模型、结果存盘、观察结果。

(2)将电子表格格式转换成标准模型。

(3)将结果复制到Excel或Word文档中。

(4)分析结果。

解:(1)从已知条件写出该问题的数学模型:max Z=30x1+25x2;2x1+4x2<=40;3x1+2x2<=30;x1>=0,x2>=0.建立新问题、输入选项(电子表格、变量取非负连续)、输入数据、存盘、求解模型、结果存盘、观察结果:求解模型过程Simplex Tableau -- Iteration 1X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioSlack_C1 0 2.0000 4.0000 1.0000 0 40.0000 20.0000Slack_C2 0 3.0000 2.0000 0 1.0000 30.0000 10.0000C(j)-Z(j) 30.0000 25.0000 0 0 0Simplex Tableau -- Iteration 1X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioSlack_C1 0 2.0000 4.0000 1.0000 0 40.0000 20.0000Slack_C2 0 3.0000 2.0000 0 1.0000 30.0000 10.0000C(j)-Z(j) 30.0000 25.0000 0 0 0Simplex Tableau -- Iteration 3X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioX2 25.0000 0 1.0000 0.3750 -0.2500 7.5000X1 30.0000 1.0000 0 -0.2500 0.5000 5.0000C(j)-Z(j) 0 0 -1.8750 -8.7500 337.5000(2)将电子表格格式转换成标准模型。

运筹学实验报告

运筹学实验报告

运筹学实验报告导言运筹学是一门研究如何有效地进行决策、规划、控制和优化的学科。

它在不同领域中都有广泛应用,例如物流管理、生产调度、资源分配等。

本实验报告将介绍一个基于运筹学方法的实际案例,展示其在实践中的应用和效果。

问题描述我们选取了一个假设情景作为研究案例:一家电子公司正在考虑如何优化其供应链。

供应链的核心问题是如何在最小的时间和成本内将产品从制造商运送到最终客户手中。

该公司一直面临着供应链效率低下、库存过高等问题,因此需要进行优化。

方法选择为了解决供应链问题,我们选择了线性规划方法进行建模和求解。

线性规划是一种经典的运筹学方法,通过建立目标函数和约束条件来实现优化。

我们将考虑运输成本、库存成本和交货时间等因素,以最小化总成本为目标进行优化。

数据收集与分析首先,我们需要收集与供应链相关的数据,包括产品库存量、制造商的运输能力、客户的需求等信息。

通过对这些数据进行分析,我们可以获得对供应链瓶颈和优化潜力的洞察。

模型建立与求解根据数据分析的结果,我们可以建立数学模型来描述供应链的运作。

假设有n个制造商和m个客户,我们需要决策每个制造商向每个客户运送的产品数量。

我们定义决策变量x_ij表示制造商i 向客户j运送的产品数量。

通过设定合适的约束条件,如制造商的运输能力限制、客户的需求限制等,我们可以建立如下的线性规划模型:minimize ∑(c_ij * x_ij) for all i, jsubject to:∑(x_ij) <= supply_i for all i∑(x_ij) >= demand_j for all jx_ij >= 0 for all i, j其中c_ij表示从制造商i到客户j运输一个产品的成本,supply_i表示制造商i的运输能力,demand_j表示客户j的需求。

接下来,我们可以使用线性规划求解器对模型进行求解。

求解过程将得到最优的运输方案,包括每个制造商向每个客户运输的产品数量。

运筹学lingo实验报告

运筹学lingo实验报告
运筹学lingo实验报告
一、引言
实验目的
本次实验旨在探索运筹学lingo在解决实际问题中的应用,了解lingo的基本使用方法和解题思路。

实验背景
运筹学是一门研究决策和规划的学科,其能够帮助我们优化资源分配、解决最优化问题等。

lingo是一种常用的运筹学工具,具有强大的求解能力和用户友好的界面,被广泛应用于各个领域。

二、实验步骤
准备工作
•安装lingo软件并激活
•熟悉lingo界面和基本功能
确定问题
•选择一个运筹学问题作为实验对象,例如线性规划、整数规划、网络流等问题
•根据实际问题,使用lingo的建模语言描述问题,并设置变量、约束条件和目标函数
运行模型
•利用lingo的求解器,运行模型得到结果
结果分析
•分析模型求解结果的合理性和优劣,对于不符合要求的结果进行调整和优化
结论
•根据实验结果,总结lingo在解决该问题中的应用效果和局限性,对于其他类似问题的解决提出建议和改进方案
三、实验总结
实验收获
•通过本次实验,我熟悉了lingo软件的基本使用方法和建模语言,增加了运筹学领域的知识和实践经验。

实验不足
•由于时间和条件的限制,本次实验仅涉及了基本的lingo应用,对于一些复杂问题的解决还需要进一步学习和实践。

•在以后的学习中,我将继续深入研究lingo的高级功能和应用场景,以提升运筹学问题的求解能力。

以上就是本次实验的相关报告内容,通过实验的实践和总结,我对lingo在运筹学中的应用有了更深入的理解,为今后的学习和研究奠定了基础。

《运筹学》实验报告

《运筹学》实验报告专业:工商管理专业班级:11-2班:胡坤学号:8指导老师:雷莹前言第十一周、十二周,我们在雷莹老师的指导下,用计算机进行了有关运筹学的一系列实验。

本实验报告即是对这次试验的反馈。

本这次试验是为了帮助我们顺利完成有关《运筹学》课程容的学习。

在先期,雷老师带领我们进行了《运筹学》理论课程的学习,不仅使我们了解和掌握了运筹学的相关知识,而且让我们认识到运筹学的现实意义,认识到现代社会数学与人们生产、生活之间的紧密联系和对人们生产、生活的巨大促进作用。

然而,与此同时,现代社会同时是一个计算机时代,我们只拥有理论知识还不够,必须把理论知识和计算技术结合起来,这样才能进一步提高生产力。

我相信这也是老师要求我们做这次试验的目的和初衷。

在实验中,我们主要是利用WinQSB软件进行相关试验,根据实验指导书中详细给出的各个实验的基本步骤和容,独立完成各项实验。

本次实验中共包含4个实验,分别是线性规划实验、运输问题实验、整数规划实验,以及网络优化实验。

每个实验均与理论课中讲解的容相对应。

部分实验容用于使我们了解WinQSB软件的基本操作,而其它实验容要求我们能够根据给出的问题,进行分析、建模和求解。

通过完成各项实验任务,使我们得以巩固已有的理论课程学习容,为将来进一步的学习和实际应用打下基础。

线性规划实验通过对以下问题的分析,建立线性规划模型,并求解:某工厂要用三种原材料C、P、H混合调配出三种不同规格的产品A、B、D。

已知产品的规格要求,产品单价,每天能供应的原材料数量及原材料单价分别见下表1和2。

该厂应如何安排生产,使利润收入为最大?表2实验报告要求(1)写出自己独立完成的实验容,对需要建模的问题,给出问题的具体模型;(2)给出利用WinQSB软件得出的实验结果;(3)提交对实验结果的初步分析,给出自己的见解;实验过程:一、建立模型设Ac是A产品中用c材料,同理得出Ap、Ah、Bc、Bp、Bh、Dc、Dp、Dh⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧≤++≤++≤++≤++≥++≤++≥++++++++++++++++=60Dh Bh Ah 100Dp Bp Ap 100Dc Bc Ac 5.0Bh Bp Bc Bp 25.0Bh Bp Bc Bc 25.0Ah Ap Ac Ap 5.0Ah Ap Ac Ac Dh Bh Ah 35-Dp Bp Ap 25-Dc Bc Ac 65-Dh Dp Dc 25Bh Bp Bc 35)(50 max )()()()()(H P C A A A z二、求解过程三、实验分析实验结果表明,在题目的要求下,该工厂只能生产A产品才能盈利,并且在使用c材料100个单位、p材料50个单位、h材料50个单位时,即生产200个单位的A产品时,才能获得最大利润,最大利润为500。

运筹学实验报告

运筹学实验报告运筹学实验报告2实验内容:线性规划问题的建模和求解。

“炼油厂生产计划安排”,“长征医院的护士值班计划”两题目任选其一,每个小组最多3名同学,共同完成实验报告。

一、问题提出长征医院是长宁市的一所区级医院,该院每天各时间区段内需求的值班护士数如表1所示.该医院护士上班分五个班次,每班8h,具体上班时间为第一班2:00~10:00,第二班6:00~14:00,第三班10:00~18:00,第四班14:00~22:00,第五班18:00~2:00(次日).每名护士每周上5个班,并被安排在不同日子,有一名总护士长负责护士的值班安排计划.值班方案要做到在人员或经济上比较节省,又做到尽可能合情合理.下面是一些正在考虑中的值班方案:方案1 每名护士连续上班5天,休息2天,并从上班第一天起按从上第一班到第五班顺序安排.例如第一名护士从周一开始上班,则她于周一上第一班,周二上第二班,……,周五上第五班;另一名护士若从周三起上班,则她于周三上第一班,周四上第二班,……,周日上第五班,等等.方案2 考虑到按上述方案中每名护士在周末(周六、周日)两天内休息安排不均匀.于是规定每名护士在周六、周日两天内安排一天、且只安排一天休息,再在周一至周五期间安排4个班,同样上班的五天内分别顺序安排5个不同班次.在对第1、2方案建立线性规划模型并求解后,发现方案2虽然在安排周末休息上比较合理,但所需值班人数要比第1方案有较多增加,经济上不太合算,于是又提出了第3方案.方案3 在方案2基础上,动员一部分护士放弃周末休息,即每周在周一至周五间由总护士长给安排三天值班,加周六周日共上五个班,同样五个班分别安排不同班次.作为奖励,规定放弃周末休息的护士,其工资和奖金总额比其他护士增加a%.根据上述,帮助长征医院的总护士长分析研究:(x)对方案1、2建立使值班护士人数为最少的线性规划模型并求解;(b)对方案3,同样建立使值班护士人数为最少的线性规划模型并求解,然后回答a的值为多大时,第3方案较第2方案更经济;二、问题简述从该医院各时间段护士值班表可看出:五个时间段所需护士人数分别为18,20,19,17,12。

运筹学实验报告

运筹学实验报告实验目的:了解及掌握运筹学一些常用软件,如excel,WinQsb:实验步骤1用Excel求解数学规划例:求max=2x1+x2+x34x1+2x2+2x2≥42x1+4x2≤204x1+8x2+2x3≤4步骤:1.输入模型数据制E3的公式到E4-E6:3.从“工具”菜单中选择“规划求解”,将弹出的“规划求解参数”窗口中的目标单元格设为$E$3,可变单元格设为$B$2:$D$2,目标为求最大值: 4.添加约束:由于本例的约束条件类型分别为<=、>=和=,因此要分3次设置,每次设置完毕后都要单击“添加”按钮,如下图。

添加完成后选择“确定”返回。

5.单击“选项”按钮,将“规划求解选项”窗口中的“采用线性模型”和“假定非负”两项选中后点“确定”返回,设置好参数的界面如下图:6.单击“求解”按钮,得到问题的最优解为:x1 =1,x2=0,x3=0,max Z=2。

2.winQSB求解线性规划及整数规划[例]求解线性规划问题:Minz=2x1—x2+2x32x1+2x2+x3=43x1+x2+x4=6第1步:生成表格选择“程序,生成对话框:第2步:输入数据单击“OK”,生成表格并输入数据如下第3步:求解):x1,x2,x3决策变量(Decision Variable最优解:x1=2,x2=0,x3=0目标系数:c1=2,c2= -1,c3=2最优值:4;其中x1贡献4、x2,x3贡献0;检验数(Reduced Cost):0,0,1.75。

目标系数的允许减量(Allowable Min.c[j])和允许增量(Allowable Max.c[j]):目标系数在此范围变量时,最优基不变。

约束条件(Constraint):C1、C2;左端(Left Hand Side):4,6右端(Right Hand Side):4,6松驰变量或剩余变量(Slack or Surplus):该值等于约束左端与约束右端之差。

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

运筹学上机实验报告
运筹学是一门应用数学学科,主要研究如何有效地解决实际问
题。通过上机实验,能够加深对于运筹学基本概念和解题方法
的理解,为今后的应用实践打下基础。

本次上机实验共分为三个部分,包括线性规划、整数规划和网
络优化。

一、线性规划
线性规划是最基本的数学规划问题,目标函数和约束条件都是
线性的。本次实验用到的软件是LINGO,在LINGO中通过输
入目标函数和约束条件,可以求出最优解。

本次实验中,我们以四元运筹学经典问题(产能分配问题)为
例,求解不同工厂的产能分配,以最大化总利润为目标。具体
操作流程如下:

1. 输入目标函数和约束条件
目标函数:
maximize 35X1 + 50X2 + 45X3 + 40X4
约束条件:
X1 + X2 + X3 + X4 <= 60 (总产能不超过60)
0.6X1 + 0.8X2 + 0.3X3 + 0.4X4 <= 36 (原料消耗不超过36)
0.4X1 + 0.2X2 + 0.7X3 + 0.5X4 <= 27 (能源消耗不超过27)
X1, X2, X3, X4 >= 0 (产能不能为负数)
2. 求解结果
在LINGO中,我们可以通过点击“Solve”按钮求解问题,得到
最优解:

X1 = 30, X2 = 0, X3 = 0, X4 = 30
最大利润为:35*30 + 50*0 + 45*0 + 40*30 = 2250
通过实验可以发现,LINGO的求解过程非常方便,只需要输
入目标函数和约束条件,软件就可以自动求解出最优解。但是,
如果约束条件较多,需要手动输入可能会变得比较繁琐。

二、整数规划
整数规划是线性规划问题的一种,与线性规划的区别是变量必
须是整数。求解整数规划问题通常需要用到分支定界法等算法。

本次实验中,我们以货车配送为例,需要配送的城市有5个,
我们需要选择哪些城市送货,以最小化路程为目标。其中,每
个城市都有一个需求量和一个固定的配送费用,而路程费用是
按照城市之间的距离按照每英里1美元计算的。具体操作流程
如下:
1. 输入目标函数和约束条件
目标函数:
minimize 19X1 + 22X2 + 27X3 + 31X4 + 38X5
约束条件:
X1 + X2 + X3 + X4 + X5 >= 15 (货车装载量必须大于等于15)
X1 >= 0, X2 >= 0, X3 >= 0, X4 >= 0, X5 >= 0 (必须选择至少
一个城市)

X1, X2, X3, X4, X5 是整数
2. 求解结果
在LINGO中,我们可以通过点击“Solve”按钮求解问题,得到
最优解:

X1 = 0, X2 = 0, X3 = 5, X4 = 5, X5 = 5
最小路程费用为:27*5 + 31*5 + 38*5 = 420
通过实验可以发现,整数规划问题相对于线性规划问题较为复
杂,需要寻找更优的解,但是LINGO等软件可以帮助我们快
速找到最优解,便于我们在实际问题中应用。
三、网络优化
网络优化是指在网络中寻找最佳路径或者流量分配方式的方法,
是一类特殊的线性规划问题。本次实验中,我们以最小生成树
为例,通过LINGO求解最优解。

最小生成树问题是指在一个加权无向连通图中,找到一棵生成
树(即包含所有顶点,但边的数量最小),使得所有边权的和
最小。

1. 输入目标函数和约束条件
本次实验所使用的数据如下:
1 2 3 4
1 0 3 5 0
2 3 0 4 7
3 5 4 0 2
4 0 7 2 0

其中,矩阵的行和列分别对应节点编号1-4。
目标函数:minimize 3X12 + 4X23 + 2X34
约束条件:
每个节点的度数必须为2(生成树)
Xij = Xji (连边)
2. 求解结果
在LINGO中,我们可以通过点击“Solve”按钮求解问题,得到
最优解:

X12 = 1, X23 = 1, X34 = 1
最小生成树的边为1-2,2-3,3-4。
通过实验可以发现,网络优化问题的求解方式与线性规划问题
有所不同,需要根据特定问题使用相应的算法进行求解。然而,
LINGO等软件也可以帮助我们快速得出最优解。

相关文档
最新文档