Excel2003版有规划求解功能吗

2016-08-31 专题 阅读:

Excel2003版有规划求解功能吗(一)
EXCEL规划求解功能操作说明

Excel规划求解功能操作说明

以Microsoft Excel2003为例,说明使用Excel的求解线性规划问题功能的使用方法。

一、加载规划求解功能

1.点击【工具】按钮,在下拉菜单中选择【加载宏】功能。

2.在弹出的【可加载宏】选项卡中勾选【规划求解】,点击确定按钮。

此时,【工具】下拉菜单中增加规划求解功能,表示加载成功。

二、构造表格Excel表格并填入各项数据

以教材18页【例题2-8】为例,构造表格如下:

1.录入约束条件系数

约束条件(1)为5x1+x2-x3+x4=3,则在约束系数的第一行的x1,x2,x3,x4,x

5,限制条件,常数b列下分别录入5,1,-1,1,0,=,3如下图所示。

【Excel2003版有规划求解功能吗】

约束系数区的第二行录入约束条件(2)的系数、限制符号及常数b,即-10,6,2,0,1,=,2;

约束系数区的第三行录入约束条件(3)(x1≥0)的系数、限制符号及常数

b,即1,0,0,0,0,≥,0;

约束系数区的第四行录入约束条件(4)(x2≥0)的系数、限制符号及常数b,即0,1,0,0,0,≥,0;

约束系数区的第五行录入约束条件(5)(x3≥0)的系数、限制符号及常数b,即0,0,1,0,0,≥,0;

约束系数区的第六行录入约束条件(6)(x4≥0)的系数、限制符号及常数b,即0,0,0,1,0,≥,0;

约束系数区的第七行录入约束条件(7)(x5≥0)的系数、限制符号及常数b,即0,0,0,0,1,≥,0。如下图所示。

2.录入目标函数系数

目标函数为maxZ=4x1-2x2-x3,则在目标函数的x1,x2,x3,x4,x5列下分别录入4,-2,-1,0,0,如下图所示。

3. 录入约束条件的计算公式

双击约束条件(1)行的“总和”单元格,录入以下内容:“=B3*B12+C3*C12+D3*D12+E3*E12+F3*F12”

说明:录入的内容即是约束条件(1)的计算公式,其中“B3*B12”代表5x1; “C3*C12”代表1x2;“D3*D12”代表-1x3;“E3*E12”代表1x4;“F3*F12”代表0x5。整个计算公式即代表5x1+1x2-1x3+1x4+0x5,即约束条件(1)的计算公式。注意:单元格B12,C12,D12,E12,F12分别代表x1,x2,x3,x4,x5

Excel2003版有规划求解功能吗(二)
EXCEL2003规划求解问题

使用 Excel 规划求解

2000 年 10 月

Excel 规划求解的选项可以用来解决线性规划与非线性规划优化问题。可以设置决策变

量为整数约束。规划求解可以用来解决最多有 200 个变量,100 个外在约束和 400 个简单约 束(决策变量整数约束的上下边界)的问题。要调用规划求解,从主菜单中选择工具/求解。 规划求解参数对话框如下所示。

规划求解参数对话框

规划求解参数对话框用来描述 EXCEL 的优化问题。设置目标单元格应该包含正考虑问 题目标函数的单元格地址。选择最大或最小可以用来确定设定目标单元格的寻找最大或最小 值。如果选择了值,规划求解将努力去寻找使目标单元格的值等于选项右侧框中的值。可变 单元格框应该包含问题中决策变量的地址。最后,约束必须通过点击添加按钮在约束框中详 细说明。修改按钮允许你对已经加入的约束进行修改,删除按钮允许你删除前面加入的约束。 重新设置按钮清除当前问题,并且将参数重新设置为默认值。选项按钮调用规划求解对话框 选项(下面就讨论)。推测按钮选项对于我们没有多大的用途,这里将不讨论。为了便于参 考,规划求解参数对话框的相关条目标注如下:

当点击添加按钮时,增加约束对话框如下所示:【Excel2003版有规划求解功能吗】

点击单元格引用框允许你说明单元格地址(通常是有公式的单元格)。约束形式可以选 择下面的箭头(<=,>=,=,int,int 是指整数,或 bin,指二元)。约束框可以含有单元格的公式,简 单的单元引用,或者数值。添加按钮向现存模型增加当前描述的约束,返回添加约束对话框。 OK 按钮将当前的约束加入到模型中,并返回规划求解对话框。注意:规划求解并不假定决 策变量是非负的。下面讨论的选项对话框能设定变量必须非负。 如果从规划求解参数对话框选中了选项按钮,将会出现下面的对话框:

最长时间允许在规划求解停止之前设定秒数。类似于最长时间,迭代次数允许设定迭代 的最大数量(规划求解算法的步骤)。精确度是规划求解算法的准确程度(例如,在等于约 束右端项之前,约束左边项的值如何接近)。允许误差被用于整数规划。这指定了在多大百 分比内的解是最优的。如果寻求最优解,允许误差必须被设置为 0。如果运行时间太长,希 望将此设置为一个更大的值(如果可以在最优性的百分比内接受该解)。

如果模型是线性规划或者线性整数规划,应该选择线性模型假定。这样规划求解就用单 纯形法而不是更耗时间的非线性算法进行求解(一般简约梯度法)。如果希望所有的可变单 元格都>=0,应该选择非负性。如果希望察看逐次迭代的信息(这将使速度降低),选中显 示迭代结果。如果模型比例比较差,启用自动按比例缩放(如果输入的数量级显著不同)。 最后,对话框的底部是关于非线性算法的选项,即,如何估计非线性,如何估计变化速率和 应用的搜索技术。

一般说来,大多数参数的默认值运行得很有效。重要的是,如果是线性规划或者整数规 划,要记住选择线性模型假设。如果希望可变单元格仅仅取非负值,可以选择非负性。同时, 如果解整数规划问题,并求最优解,要确定允许误差为 0%。 例子:科罗拉多牛公司1

科罗拉多牛公司可以从批发商购买 3 种原料。公司对于奶牛喂养的脂肪、蛋白质、钙 和铁有一定的营养要求。每头奶牛每天至少要 10 单位钙,不多于 7.5 单位脂肪,至少 12 单 位铁和至少 15 单位蛋白质。下面的表格给出了 3 种养料每磅中脂肪、蛋白质、钙和铁的含 量。等级 1 的养料成本为每磅$0.25,等级 2 成本为每磅$0.1,等级 3 成本为每磅$0.08。牛 可以混合 3 种养料来喂养。科罗拉多牛公司希望尽可能的以低廉的成本喂养牛。

喂养成分(单位/磅)

该问题的一个线性规划模型如下:

令 grade1=每天一头牛所用的等级 1 的养料数量(磅)

grade2=每天一头牛所用的等级 2 的养料数量(磅) grade3=每天一头牛所用的等级 3 的养料数量(磅) Minimize 0.25grade1+0.1grade2+0.08grade3 Subject to 0.7grade1+0.8grade2+0grade3>=10 (钙)

0.9grade1+0.8grade2+0.8grade3>=12 (铁)

0.8grade1+1.5grade2+0.9grade3>=15 0.5grade1+0.6grade2+0.4grade3<=7.5 grade1,grade2,grade3>=0

(蛋白质) (脂肪)

该问题的 EXCEL 工作表模型如下:

1

该例子源于 Camm,J.D.与 Evans,J.R 的管理科学,模型,分析与理解,西南出版公司,新新那提,俄亥俄 州,1996 年。

本工作表中的单元格公式仅仅出现在模型的输出(即约束)部分:

SUMPRODUCT函数计算点积。例如应用钙的数量为SUMPRODUCT(B7:D7,B15:D15) = ( B7*B15 + C7*C15 + D7*D15 )。

运用下面的步骤可以建立线性规划模型: 1. 选择Tool,然后选择Solver。

2. 点击设置目标单元格,键入B26。 3. 点击。

【Excel2003版有规划求解功能吗】

4. 点击By Changing Cell框,在工作表中,点击并从B15到D15(或者键入B15:D15)脱

拽鼠标。

5. 点击按钮调用Add Constraint对话框。

6. 键入最低要求约束:在单元格引用框中点击并键入B20:B22,选择>=类,然后点击【Excel2003版有规划求解功能吗】

约束框并且键入F7:F9。点击Add。【Excel2003版有规划求解功能吗】

7. 键入最高要求约束:在单元格引用框中点击并键入B24,选择<=类,然后点击约束

框并且键入G10。点击OK按钮。

8. 最后选择,假定非负性和线性模型。

在Solver Parameter对话框中完成的模型如下所示:

要解该模型,点击Solver按钮。当问题解决以后,Solver Result框将会出现:

你可以选择工作表中由Solver确定的解或者重新保存元数据。同时,如Report框中所示,

可以自动产生3种报告。在框中点击可以选择其中的任何报告,在下面的部分中,将逐一描 述报告。

规划求解报告

【Excel2003版有规划求解功能吗】

Golver产生了线性规划的3份报告,答案、灵敏度分析和极限报告。如果从Solver结果框 里选中了Keep Solver Solution选项,那么最优解将保存在工作表中。对于科罗拉多牛公司问 题,将会有下面的结果。

答案报告给出了目标单元格和所有可变单元格的初始值和最终值,以及约束和约束状态 的列表(注意:术语松弛可用来描述松弛变量和剩余变量)。科罗拉多牛公司模型的答案报 告见下页。注意EXCEL通过单元格左侧和上面的第一个文本框标记目标单元格,可变单元 格和约束。

Microsoft Excel8.0答案报告 工作表:[CCC.xls]CCC 报告创建:12/11/97 8:33:07AM

Excel2003版有规划求解功能吗(三)
如何在不同Excel版本中找到“规划求解”选项

如何在不同Excel版本中找到“规划求解”选项 如果你的Excel是2003版得话,步骤如下:

1. 打开Excel程序,选择“工具”→“加载宏”

2.

在“Solver Add-in”的复选框中打上“√”,然后点击确定:

3.

这时再打开“工具”菜单栏,就能找到“规划求解”了:

4. 点击一下看看长什么样子的:

如果你使用的是Excel2007,那么找到规划求解的步骤如下:

Excel2003版有规划求解功能吗(四)
Excel2010中规划求解的应用

  【摘 要】Excel2010具有强大的电子表格处理功能,使用它可以进行各种数据处理、统计分析和辅助决策等。规划求解是一组命令中的一部分,有时称为假设分析工具。通过使用规划求解,可以根据对工作表中单元格值的约束或限制找出目标单元格中公式的最优(最大或最小)值。

  【关键词】Excel2010;规划求解;值班表
  Microsoft Excel中的规划求解工具取自德克萨斯大学奥斯汀分校的 Leon Lasdon 和克里夫兰州立大学的 Allan Waren 共同开发的 Generalized Reduced Gradient (GRG2) 非线性最优化代码。规划求解是一组命令的组成部分,这些命令有时也称作假设分析工具,即该过程通过更改单元格中的值来查看这些更改对工作表中公式结果的影响,规划求解主要是为工作表中的目标单元格中的公式找到一个优化值,在保证工作表中的其他数据保持在设置的范围之内时通过改变输入值从而求出最优解。
  1 特点
  1.1 规划问题的特点
  一般来讲,适合使用规划求解的问题具有如下特点:
  (1)目标单元格的解都有单一的目标,如求运输的最佳路线,求值班人员的最佳安排时间表,求产品的最低成本等等。
  (2)对于目标单元格的解存在有明确的可以用不等式表达的约束条件和限制。
  (3)可以把问题的表达描述为:一组约束条件及限制(不等式),一个目标方程。
  (4)输入值直接或间接地影响约束条件和目标单元格的解。
  (5)利用Excel可以简单的求得问题满足约束条件和限制求得的目标最优解。
  1.2 规划求解的特点
  (1)有多个可以调整的单元格。
  (2)可以通过更改其他单元格来确定某个单元格的最大值或最小值。
  (3)可以指定可调整单元格可能的数值约束。
  (4)一个问题可以有多个解。
  2 安装规划求解插件
  由于在Excel2010中规划求解是一个插件,并不显示在选项卡中,因此在使用规划求解之前要先进行安装。安装规划求解插件的方法有两种,第一种方法具体步骤如下。
  (1)在Excel2010窗口单击【文件】选项卡,在打开的菜单中点击【选项】命令。
  (2)在弹出的【Excel选项】对话框中,左侧列表选择【加载项】,然后打开右侧的【管理】下拉菜单,选择【Excel加载项】,单击【转到】按钮。
  (3)在弹出的【加载宏】对话框中,勾选【规划求解加载项】,单击【确定】按钮。
  (4)在功能区切换到【数据】选项卡,可以看到【规划求解】在【分析】组中,鼠标悬停在【规划求解】按钮上,可得到该功能的即时帮助信息。
  第二种方法具体步骤如下。
  (1)第一步和第一种方法相同,在Excel2010窗口单击【文件】选项卡,在打开的菜单中点击【选项】命令。
  (2)在弹出的【Excel选项】对话框中,左侧列表选择【自定义功能区】,然后勾选右侧主选项卡中的【开发工具】,单击【确定】按钮。
  (3)回到Excel2010主界面,此时选项卡上就多出了一项【开发工具】,单击其中的【加载项】按钮,在弹出的【加载宏】对话框中,勾选【规划求解加载项】,单击【确定】按钮。
  3 规划求解的应用
  通过应用Excel规划求解,可求得工作表上某个目标单元格中公式的最优值。规划求解将对直接或间接与目标单元格中公式相关联的一组单元格中的数值进行调整,最终在目标单元格公式中求得期望的结果。在创建模型过程中,可以对规划求解模型中的可变单元格数值应用约束条件,即规划求解中设置的限制条件,可以将约束条件应用于可变单元格、目标单元格或其他与目标单元格直接或间接相关的单元格。而且约束条件可以引用其他影响目标单元格公式的单元格。下面通过一个具体的例子来说明如何使用Excel2010中的规划求解功能。
  在大学学生会里需要安排干事值班,由于干事本身也是一名学生,在安排值班时必须考虑到该干事何时有课程,何时有其他活动安排等,因此做一份值班安排表也是学生会工作的重要内容之一。在安排值班表的过程中,常常会遇到值班时间与干事上课或活动时间冲突的情况,因此需要统筹规划根据干事的具体情况来安排。如我们假设在一个星期内各个干事的具体情况如下:
  (1)小立只有周五有空,可以去学生会值班。
  (2)小新只能紧跟着小王,也就是比小王晚一天值班。
  (3)小倩要比小新早两天值班。
  (4)小苏又要比小倩早两天值班。
  (5)小鹏只要比小立早值班就行。
  (6)小巍只要比小立晚值班就行。
  (7)小辉哪天值班都可以。
  步骤一:首先根据上面的情况,在Excel表格中输入如下内容:
  图1
  由于小鹏和小巍的情况无法用具体的数值来描述,所以在输入公式时引用了单元格E1作为变量来代表早或晚几天。
  步骤二:设定规划求解参数
  由于星期1到7之间的乘积值是固定的,等于5040,所以选定星期数的乘积作为目标值,在目标单元格B12内计算出当前各干事值班时间的乘积,等于6000,可以看出目标单元格内的值与目标值尚不符合。然后设置约束条件,设置参数如图2所示。
  图2
  步骤三:创建规划求解报告
  单击【求解】按钮即可弹出【划归求解结果】对话框,在此对话框在红选中“运算结果报告”,最后单击【确定】按钮即可得到规划求解的结果,同时生成一份规划求解报告,如图3所示。
  4 小结
  由于在实际安排过程中,要求各异,会出现与本文所举实例不一致的情况,这就需要适当对其进行修改,使之能符合实际要求。
  图3
  总之利用Excel2010提供的规划求解功能可以各类线性规划问题、目标问题、运输问题、最短路径问题、最大流问题、数据包分析及其他运筹学问题,给工作带来了极大的方便,也提高了工作效率。
  【参考文献】
  [1]孙国俊.用Excel“规划求解”解决应用问题[J].微电脑世界,2001:8.
  [2]何锦源.解析基于Excel2003进行规划求解[J].电脑编程技巧与维护,2010:14.
  [3]孙爱萍,王瑞梅.如何利用Excel求解线性规划问题及其灵敏度分析[J].办公自动化,2009:22.
  [责任编辑:汤静]
  作者简介:王侃(1975.06―),女,汉族,讲师,主要从事计算机基础及软件编程的教学。

Excel2003版有规划求解功能吗(五)
Excel2003中解决线性规划求解问题

  摘要:在工作和教学中通常我们会遇到线性规划的问题,利用Excel2003中的加载宏“规划求解”工具可以方便解决诸如:线性规划、非线性规划、整数规划等多种数学规划问题。而本文通过演示一个线性规划实例来讲解利用Excel2003中“规划求解”解决线性规划求解问题的具体方法和步骤。

  关键词:线性规划;规划求解;Excel;优化
  中图分类号:F224.31文献标识码:A文章编号:1671—1580(2013)02—0147—02
  1.引言
  在工作和教学中通常我们会遇到线性规划的问题,其实利用常用的Microsoft Office办公应用软件中的Excel2003就可以很容易地解决线性规划的求解问题。
  2.线性规划和规划求解
  2.1线性规划
  线性规划是运筹学中被广泛应用的一个重要分支,是辅助人们进行科学管理的一种数学方法。线性规划应用分析、量化的方法,对管理系统中的有限资源进行统筹规划,为决策者提供最优化方案,以实现科学管理。一般地,求线性目标函数在线性约束条件下的最大值或最小值的问题,统称为线性规划问题。更具体的说线性规划就是在一系列约束条件下,求解某一经济目标最优(最大或最小)值的一种数学方法。
  2.1.1线性规划的模型建立
  线性规划的模型建立需要从实际问题中找到三个要素:决策变量、目标函数、约束条件,然后建立问题的数学模型,建立数学模型分以下三个步骤:
  (1)根据影响所要达到目的的因素找到决策变量;(2)由决策变量和所要达到目的之间的函数关系确定目标函数; (3)由决策变量所受的限制条件确定决策变量所要满足的约束条件。
  2.1.2线性规划的一般形式如下:
  Max(Min) Z=c1x1+c2x2+……+cnxn
  a11x1+a12x2+……+a1nxn<=(=或>=)b1
  a21x1+a22x2+……+a2nxn<=(=或>=)b2
  s.t. …
  an1x1+an2x2+……+annxn<=(=或>=)bn
  x1,x2,……,xn>=0
  2.2规划求解
  Microsoft Excel的“规划求解”是Office 2003的一个加载宏,也可以称作假设分析。规划求解的一般方法可以分为以下三个步骤:
  (1)设置可变单元格,根据已有数据确定用来存放数学模型中的决策变量的单元格。
  (2)设置目标单元格,在目标单元格中设置取得最优化值的求解公式。
  (3)规划求解工具中设置相关参数,添加约束条件。 “规划求解”通过调整所指定的可更改的单元格(可变单元格)中的值,从目标单元格公式中求得所需的结果。
  3.规划求解应用实例
  某公司生产A、B两种产品,假设生产1台A产品,要消耗90公斤钢材、40公斤铜线、30公斤油,获利0.7万元;生产1台B产品,要消耗40公斤钢材、50公斤铜线、100公斤油,获利1.2万元。假设该公司当前可供利用的各种资源额度是:钢材3600公斤、铜线2000公斤、油3000公斤。请利用规划求解,计算该公司应生产多少台A产品、多少台B产品,才能够获得最大利润?
  3.1分析:在此题目中对最终获得最大利润产生影响的决策变量为A、B两种产品产量,故设A、B两种产品产量分别为X1、X2台时,产品利润达到最大化,由决策变量X1、X2和所在达到目的之间的关系确定目标函数,表达为Max Z=1.2 X1+0.7 X2,由决策变量所受的限制条件确定决策变量所要满足的约束条件: 钢材:90X1+40X2<=3600;铜线:40 X1+50 X2<=2000;油:30 X1+100 X2<=3000
  3.2解:设A、B两种产品产量分别为X1、X2台时,产品利润达到最大化,则该问题的数学模型为:
  Max Z=1.2 X1+0.7 X2
  s.t . 90 X1+40 X2<=3600
  40 X1+50 X2<=2000
  30 X1+100 X2<=3000
  X1>=0,X2>=0
  解题步骤:
  第一步,在Excel中描述问题,建立模型
  假设A产品、B产品目标台数X1、X2分别设置为可变单元格C7和D7,则数学模型在Excel中约束条件的对应表达式为:
  Max Z=1.2 X1+0.7 X2
  s.t 90 X1+40 X2<=3600
  40 X1+50 X2<=2000
  30 X1+100 X2<=3000
  X1>=0,X2>=0=C6*$C$7+D6*$D$7
  =C3*$C$7+D3*$D$7
  =C4*$C$7+D4*$D$7
  =C5*$C$7+D5*$D$7
  第二步,在“工具”中利用“规划求解”功能,设置规划求解参数,目标单元格:$F$6;可变单元格:$C$7、$D$7;约束条件:钢材:$F$3<=$E$3;铜线:$F$4<=$E$4;油:$F$5<=$E$5。第三步,设置选项,选择采用线性模型,假定非负复选框,求得结果。
  对结果取整得到整数值,该公司应生产34台A产品、12台B产品时,才能够获得最大利润。
  4.结束语
  在利用规划求解过程中如何建立数学模型是我们解决实际问题的关键,数学模型的建立就是把现实世界中的实际问题加以提炼,抽象为数学模型、求出模型的解,验证模型的合理性,并用该数学模型所提供的解答来解释现实问题。具备数学建模的能力是基础,利用计算机软件Excel作为工具解决线性规划求解不再是问题。合理利用计算机解决数学问题能够帮助我们在工程技术、经济管理和科学研究等领域,及时、准确、科学的解决生产、管理等问题,加速社会发展、实现现代化。
  [参考文献]
  [1]刘春艳.线性规划在经济管理中的应用[J].电力学报,2008(06).
  [2]刘晓莉.Excel在线性规划中的应用[J].数学通讯,2003(09).
  [3]李德晶.数学模型的建立及规划求解的应用[J].甘肃农业,2005(04).
  [4]顾运筠.Excel规划求解的两类应用[J].计算机应用与软件2005(01).
  [5]陈生萍,田宏秀,黄天强.Excel规划求解在决策分析中的应用[J].吉首大学学报:自然科学版,2006(02).

Excel2003版有规划求解功能吗(六)
巧用Excel规划求解最短路径

  ● Excel规划求解的功能概述

  Excel具有规划求解的基本功能,包括线性规划和非线性规划。对于常规的线性规划问题,Excel就可以给出求解结果。借助规划求解,可求得工作表上某个单元格中公式的最优值。规划求解将对直接或间接与目标单元格中公式相关联的一组单元格中的数值进行调整,最终在目标单元格公式中求得期望的结果。
  ● 加载规划求解功能
  在Excel2003版本中,通过点击菜单“工具→宏→加载宏”,加载规划求解加载项,便可加载该宏。在Excel2007版本中,通过点击Office按钮,点击“Excel选项→加载项→转到Excel加载项”,然后加载规划求解加载项,便可以加载规划求解的宏。在Excel2010版本中,通过点击“文件”选项卡打开“Excel选项”对话框,单击左侧“加载项”标签,在右侧单击“转到”按钮,打开“加载宏”对话框,勾选“规划求解加载项”复选框,单击“确定”按钮,即可在工具栏的“数据”选项卡中出现“分析”选项组,菜单上面就有了“规划求解”按钮。
  ● 案例
  王老师从学校A到学校I参加会议,途中需要经过一些学校,学校之间的距离和线路已在图1中标明,请帮王老师规划一下,在不影响去学校I最短距离的情况下,顺便探访其他学校,请将路线描述出来。
  1.Dijkstra算法描述及C语言函数实现
  为了求出最短路径,Dijkstra就提出了以最短路径长度递增,逐次生成最短路径的算法。即如果存在一条从i到j的最短路径(Vi...Vk,Vj),Vk是Vj前面的一个顶点,那么(Vi...Vk)也必定是从i到k的最短路径。例如,对于源顶点V0,首先选择其直接相邻的顶点中长度最短的顶点Vi,那么通过已知可得从V0到Vj顶点的最短距离dist[j]=min{dist[j],dist[i]+matrix[i][j]}。根据这种思路,假设存在G=,源顶点为V0,U={V0},dist[i]记录V0到i的最短距离,path[i]记录从V0到i路径上的i前面的一个顶点。那么可从V-U中选择使dist[i]值最小的顶点i,将i加入到U中;更新与i直接相邻顶点的dist值(dist[j]=min{dist[j],dist[i]+matrix[i][j]});直到U=V,停止。
  /*Dijkstra算法代码C语言实现:*/
  void DijkstraPath(MGraph g,int *dist,int *path,int v0) //v0表示源顶点
  {
  int i,j,k;
  bool *visited=(bool *)malloc(sizeof(bool)*g.n);
  for(i=0;i  {
  if(g.matrix[v0][i]>0&&i!=v0)
  {
  dist[i]=g.matrix[v0][i];
  path[i]=v0; //path记录最短路径上从v0到i的前一个顶点
  }
  else
  {
  dist[i]=INT_MAX; //若i不与v0直接相邻,则权值置为无穷大
  path[i]=-1;
  }
  visited[i]=false;
  path[v0]=v0;
  dist[v0]=0;
  }
  visited[v0]=true;
  for(i=1;i  {
  int min=INT_MAX;
  int u;
  for(j=0;j  {
  if(visited[j]==false&&dist[j]  {
  min=dist[j];
  u=j;
  }
  }
  visited[u]=true;
  for(k=0;k  {
  if(visited[k]==false&&g.matrix[u][k]>0&&min+g.matrix[u][k]  {
  dist[k]=min+g.matrix[u][k];
  path[k]=u;
  }
  }
  }
  }
  2.Excel“规划求解”功能实现最短路径
  (1)可将学校A到学校I的距离与逻辑关系通过以下表表示。
  (2)新建工作簿,将上表各节点的逻辑关系用下Excel工作表表示(如图2)。
  “节点关系”这一栏仅用于描述各节点之间的关系,仅以B点来说(+代表此点出发,-代表以此点进),进入方向为A,出发为C、E、F。所以B=-AB+BC+BE+BF,以此类推。真正反映数量关系的是F栏的“数量(逻辑关系)”,同样以B节点为例,F19中公式关系是=-D18+D21+D22+D23,通过D栏各线段是否在最短路径(o表示“不在”,1表示“在”)上,迭代产生。最短路径设置在G31,使用公式“=SUMPRODUCT(C18:C31,D18:D31)”,通过对D栏、F栏进行规划求解来设置相应的约束条件以生成最短距离。
  3.规划求解
  点击“数据→规划求解”,目标单元格G31为最短路径,通过函数SUMPRODUCT(C18:C31,D18:D31)进行求和。因为选取的是最短路径,所以在“最小值”选项打标记。从下页图3可看出规划求解通过调整所指定的可更改的单元格(可变单元格)D18:D31中的值,可以从目标单元格公式中求得所需的结果。约束条件是在D18:D31中只能是0、1的两种,结束条件是节点条件的取值与目标值对应。
  由于规划求解过程是一个迭代过程,有的值可能达到1E-9左右,约为0,将“是否为最短路径”和“数量(逻辑关系)”设置成数值格式,并取消“小数位”。
  从上例创建模型的过程中,我们看到可以对规划求解模型中的可变单元格数值应用约束条件(约束条件:“规划求解”中设置的限制条件),约束条件可以引用其他影响目标单元格公式的单元格的值。
  Excel不仅是一个小型的数据库软件,更是一个操作极为方便的工作数据表,几乎能胜任数据处理的各种要求,功能强大、使用灵活。让我们共同使用好Excel,提高工作效率。
  资讯
  便携办公利器——华硕PU500商务笔记本
  全能轻薄的商务本
  华硕PU500作为主流15.6英寸商务本,重量为1.96Kg,厚度只有22mm,拥有深色发丝拉纹设计。屏幕采用防眩光雾面屏。电源适配器体积比传统适配器小20%,加入电源插接报警,当适配器插头未完全插入时系统会自动弹出窗口报警,保护电脑安全
  动力强劲的商务本
  华硕PU500采用i5-3317U处理器,配备4GB DDR3 1600MHz内存,Intel? HD Graphics 4000显示芯片。PU500采用“SSD+HDD”的混合硬盘模式(选配),既保持了SSD快速读取的优势,又具有传统机械硬盘的超高性价比。
  接口配备齐全包括两个USB2.0接口、一个支持关机充电的USB3.0接口,同时还配备投影展示常用的VGA视频输出接口,HDMI等接口。
  最为安全的商务本
  华硕PU500以金属支架强化硬盘周围的结构保护硬盘安全,周围辅以减震海绵垫防止笔记本电脑在运送过程中如果发生冲击或掉落,可确保数据的安全。
  同时,该机型还设置了专属ASUS HDD Protection,可利用内建的重力传感器(G-sensor),侦测出加速度的变化,当加速度达到一定程度时,触发硬盘保护机制将硬盘读写磁头与硬盘盘片分离,从而保护硬盘。
  ASUS HDD Protection允许用户自定义硬盘保护敏感级别,更加方便外出携带随时调整机器安全防护等级。

Excel2003版有规划求解功能吗

http://m.zhuodaoren.com/shenghuo371837/

推荐访问:excel2016版规划求解 03版excel规划求解

专题推荐文章

推荐内容

上一篇:部队驾驶员职业技能鉴定申请书 下一篇:环境民事公益诉讼成本负担