cplex安装_Excel软件规划求解工具的安装与功能介绍

引言

e10c188eca50b3f03a85d6187325ceac.gif规划求解工具是Excel软件中自带的一个功能非常强大的加载项/工具。它能够完成包括线性规划、整数线性规划等一般规模的数学优化问题的问题求解。更重要的是,无论是在Windows操作系统下,还是苹果电脑Mac平台下,这个工具都是免费的。下面就这个工具的安装和功能做一个简单介绍。

1 规划求解工具的安装

Excel软件安装时并不会自动安装规划求解工具,因此在使用规划求解工具前必须手工实现其安装。安装的步骤非常简单,下面以Office官网上给出的步骤,结合截图给出操作步骤:(1)打开Excel软件,在软件的左上角找到“文件”菜单a903277f520728b59c00c49051b520f5.png(2)进入“文件”菜单,找到左下角的“选项”子菜单d0da107324ddbff361ff4d8038165324.png(3)在“选项”窗口中,找到“加载项”栏目

9e2172513c013f7a65d5b9b369146902.png

在“管理”旁边,点击“转到”按钮。(4)在打开的“加载项”窗口,勾选“规划求解加载项”,确定后等待安装完成。7ae5d3a6e9bff1f2d6904a9aef2fd3b4.png【注】在这个“加载项”窗口中,还有一个非常实用和强大的工具包“分析工具库”。如果此时发现这个工具同样没有被勾选的话,建议同时勾选并安装。(5)安装成功后,在Excel软件的主菜单“数据”下面,就会出现“规划求解”的子菜单。15725d5f2d47578437ad36c6ade6dd2d.png(6)点击“规划求解”,就会打开“规划求解参数”窗口。6b7b3aeba215224fc33920ce20256bfc.png出现如此的窗口,就表明“规划求解”工具安装成功。详细操作也可以参看下面视频。【注】这个工具的安装在微软Microsoft公司的Office官网给出了简单的说明,并给出了不同Excel版本下的安装说明。用户可以在微软公司的Office软件支持网站https://support.office.com上找到以类似“在Excel中加载规划求解加载项”或"Load the Solver add-in in Excel"标题的介绍性文章。

2 规划求解工具基本介绍

Excel软件的规划求解工具操作比较简单,窗口上内容主要可以分为三部分:6b7b3aeba215224fc33920ce20256bfc.png(1)“设置目标”指出需要求解的优化问题的目标(单元格)。(2)“通过更改可变单元格”指出需要求解的优化问题的变量。(3)“遵守约束”指出需要求解的优化问题的约束条件。【注】窗口“选择求解方法”下拉列表框中,总共有三个选项,其适用范围也同时给出了解释。一般来说,线性规划问题可以采用“单纯线性规划”求解方法。

3 深入了解规划求解工具

规划求解工具由Frontline公司提供(https://solver.com),在公司的网站中,对三个求解算法进行了说明(网站原文节选如下):

The Microsoft Office Excel Solver tool uses several algorithms to find optimal solutions.

非线性GRG:

The GRG Nonlinear Solving Method for nonlinear optimization uses the Generalized Reduced Gradient (GRG2) code, which was developed by Leon Lasdon, University of Texas at Austin, and Alan Waren, Cleveland State University, and enhanced by Frontline Systems, Inc.

【翻译】此方法采用Generalized Reduced Gradient (GRG2)代码。开发者是...

单纯线性规划:

The Simplex LP Solving Method for linear programming uses the Simplex and dual Simplex method with bounds on the variables, and problems with integer constraints use the branch and bound method, as implemented by John Watson and Daniel Fylstra, Frontline Systems, Inc.

【翻译】线性规划问题采用单纯形法(Simplex)和对偶单纯形法(dual Simplex),对于整数约束的线性规划问题采用分支定界方法(branch and bound)。开发者是...

演化:

The Evolutionary Solving Method for non-smooth optimization uses a variety of genetic algorithm and local search methods, implemented by several individuals at Frontline Systems, Inc.

【翻译】演化算法采用了遗传算法(genetic algorithm)和局部搜索方法(local search)。开发者是...

【注】规划求解工具的英文原名是Solver。计算结果情况呢?(网站原文节选如下)

With the Simplex LP Solving method, you can find a globally optimal solution given enough time – but you may have to settle for a solution that’s “close to optimal” found in a more reasonable amount of time.  With the GRG Nonlinear and Evolutionary Solving methods, you should expect a “good,” but not provably optimal solution.

【翻译】如果是单纯线性规划算法求解,你一定能够找出全局最优解(globally optimal solution),但是你需要设置算法精度(close to optimal)。但是,非线性GRG和演化算法,你可能只能找到一个还不错(good)的解,但不一定是全局最优解。

这里所说的"设置"是指在“规划求解参数”窗口中,通过点击“选项”按钮,得到“选项”对话框。在这里,可以通过精确度设置来保证问题求解的“质量”。87415183435fd0337dcdd011a5d51211.png最后,规划求解能做什么,不能做什么呢?网站原文节选如下:

*If your objective and constraints are linear functions of the decision variables, you can be confident of finding a globally optimal solution reasonably quickly, given the size of your model.  This is a linear programming problem; it is also a convex optimization problem (since all linear functions are convex).  The Simplex LP Solving method is designed for these problems.

【翻译】如果问题是线性规划问题,那么单纯形法最能够快速找到一个全局最优解,而求解速度取决于模型大小。

*If your objective and constraints are smooth nonlinear functions of the decision variables, solution times will be longer.  If the problem is convex, you can be confident of finding a globally optimal solution, but if it is non-convex, you can only expect a locally optimal solution – and even this may be hard to find.  The GRG Nonlinear Solving method is designed for these problems.

【翻译】如果问题是一个平滑的非线性问题,最好使用“非线性GRG”方法,计算时间会长一点。如果问题是一个凸函数(convex),还是能够求出全局最优解;但是如果问题不是一个凸函数,那么这个问题求解非常困难。

*If your objective and constraints are non-smooth and non-convex functions of the decision variables (for example if you use IF, CHOOSE and LOOKUP functions whose arguments depend on decision variables), the best you can hope for is a “good” solution (better than the initial values of the variables), not a locally or globally optimal solution.  The Evolutionary Solving method is designed for these problems.

【翻译】如果问题不是一个平滑和凸函数,例如,你在模型中用了类似Excel函数IF等,那么问题求解比较困难。此时,你需要使用“演化”方法。

*You can use integer, binary, and alldifferent constraints on variables with all three Solving methods.  However, these constraints make the problem non-convex and much harder to solve.

【翻译】如果问题中增加了整数、0-1变量或者alldifferent约束形式,这个问题就变成了非凸函数,求解起来也非常困难。

4 总结

对于一般问题,采用规划求解工具进行求解,不会有太大问题。但是,如果问题中出现了非线性、整数约束等,最好还是选用更加高级的商业工具,如matlab, ampl, cplex, ...。

|编辑:胡锦亚82beaf7cd504af44f475b79ce8bdc3e2.png0eba7d88027c992afde2f5e24c0f98b3.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络 --- 网络层IP数据报

IP数据报格式 首部 版本:IPv4/IPv6首部长度:单位是4B,最小为5。也就是说如果首部长度的四个bit的出来的数是8,那么首部长度就是8 * 4B 32B也就是32字节区分服务:指示期望获得哪种类型的服务总长度:首部数据…

线程管理(学习)

线程管理 在日常生活中,我们要完成一个大任务,一般会将它分解成多个简单、容易解决的小问题,小问题逐个被解决,大问题也就随之解决了。 在多线程操作系统中,也同样需要开发人员把一个复杂的应用分解成多个小的、可调…

imread函数_MATLAB图像处理:27:使用imtranslate函数平移图像

本示例说明如何使用imtranslate函数对图像执行平移操作。平移操作将图像在x或y方向或两者上移动指定数量的像素。将图像读入工作区。I imread(cameraman.tif);显示图像。图像的大小为256 x 256像素。默认情况下,imshow显示图像的左上角坐标为(0,0&#…

计算机网络 --- 网络层IP地址

全世界唯一的32位/4字节标识符&#xff0c;标识路由器主机的接口。 IP地址&#xff1a;&#xff1a; {<网络号><主机号>} IP编址的历史阶段 分类的IP地址子网的划分构成超网&#xff08;无分类编址方法&#xff09; 分类的IP地址 特殊IP地址 私有IP地址 网络地址…

3测试图片显示置信度_云上的移动性能测试平台

1. 功能决定现在&#xff0c;性能决定未来性能测试在移动测试领域一直是一个大难题&#xff0c;它最直观的表现是用户在前台使用 App 时的主观体验&#xff0c;然而决定体验优劣的背后&#xff0c;涉及到了许许多多的技术变迁。当我们习惯于诺基亚时&#xff0c;智能机出现了&a…

计算机网络 --- 网络层重要协议

动态IP分配协议 --- DHCP协议 主机如何获得IP地址&#xff1a; 静态配置 包括IP地址&#xff0c;子网掩码&#xff0c;默认网关 动态配置 由DHCP服务器来分配 DHCP协议&#xff1a; 动态主机配置协议DHCP是应用层协议&#xff0c;使用客户、服务器方式&#xff0c;客户端和…

java 并发_Java并发防范机制

1.背景并发程序开发不可避免地要涉及多线程、多线程协作、数据共享和线程安全等问题。在多线程并发场景下&#xff0c;由于采用数据共享的线程通信模型可能导致多个线程之间并发时相互干扰&#xff0c;影响到程序的正常逻辑、无法保证正常的结果。为了保证程序在并发环境的正确…

水晶底是什么材质_都是红酒杯,水晶的和玻璃的有什么区别?

除了看酒杯的形状外&#xff0c;材质也是我们选酒杯不可忽视的一环。酒杯材质可简单分为玻璃酒杯和水晶酒杯。那么&#xff0c;水晶酒杯和玻璃酒杯到底有何不同&#xff1f;普通玻璃杯二氧化硅是主要成分&#xff0c;价格低廉&#xff0c;容易清洗普通玻璃酒杯材质较厚&#xf…

计算机网络 --- 网络层

主要任务是把分组从源端传到目的端&#xff0c;为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报。&#xff08;分组是把数据报进行切割形成&#xff09; 网络层主要功能 路由选择与分组转发异构网络互联拥塞控制 如果所有结点都来不及接收分组&#xff0…

mac 串口调试工具_MACamp;串口调试

上一篇文章讲了Mac下进行stm32开发wlzz&#xff1a;Mac下stm32开发(clion)​zhuanlan.zhihu.com不可避免的遇到了串口调试的问题,发现mac下进行串口调试还真的不太容易。下了不少网上的软件,发现都不是特别好用,有很多已经不支持现在的macos系统版本了。于是在CLion下搜索了一下…

golang atomic load 性能_设计模式之Golang单例模式

今天给大家讲下什么是单例模式&#xff0c;以及在Go语言中如何用正确的姿势实现它。其实单例模式是一种在平时开发中经常用到的软件设计模式。在设计模式结构中&#xff0c;其核心是只包含一个被称为单例的特殊类。通过单例模式可以确保系统中一个类只有一个实例&#xff0c;且…

计算机网络 --- 传输层

传输层概述 传输层是只有主机才有的层次&#xff08;路由器没有&#xff09;&#xff0c;为应用层提供通信服务&#xff0c;使用网络层的服务 传输层的功能 传输层提供进程与进程之间的逻辑通信&#xff08;网络层提供主机之间的逻辑通信&#xff09;。复用和分用传输层对收…

手机相机里面的m_荣耀V30 PRO详细评测:Matrix Camera相机矩阵开启5G视频时代

【IT168 评测】随着手机摄像头的配置越来越高&#xff0c;手机上已经能实现不俗的拍照效果&#xff0c;甚至超越了数码相机(DC)成为了人们最常用的拍照工具。进入今年的下半年&#xff0c;随着5G的商用&#xff0c;手机厂商对于手机的摄像头功能优化已经不局限于拍照&#xff0…

计算机网络 --- 传输层UDP协议

UDP只在IP数据报服务之上增加了很少功能&#xff0c;即复用分用和差错检测功能。 UDP的主要特点 UDP是无连接的&#xff0c;减少开销和发送数据之前的时延。UDP使用最大努力交付&#xff0c;即不保证可靠交付。UDP是面向报文的&#xff0c;适合一次性传输少量数据的网络应用。…

怎么调整字段长短_【芝士蛋糕怎么总烤不熟呢?】

烘焙群一位同学发来图片问&#xff0c;不是说看蛋糕有没有烤熟&#xff0c;要用牙签检测吗&#xff1f;可我这个芝士蛋糕&#xff0c;怎么扎都会带出面糊&#xff0c;烤不熟怎么办&#xff1f;看到这个被扎成刺猬的舒芙蕾芝士&#xff0c;原谅Windy 不厚道的笑了。也是Windy 疏…

计算机网络 --- 传输层TCP协议

TCP协议的特点 TCP是面向连接&#xff08;虚连接&#xff09;的传输层协议。每一条TCP连接只能有两个端点&#xff0c;每一条TCP连接只能是点对点的。TCP提供可靠交付的服务&#xff0c;无差错、不丢失、不重复、按序到达。可靠有序&#xff0c;不丢不重。TCP提供全双工通信。…

java 委托_java 能不能自己写一个类叫 java.lang.System/String 正确答案

来自&#xff1a;一汪清水 | 责编&#xff1a;乐乐链接&#xff1a;blog.csdn.net/tang9140/article/details/42738433正文 最近学习了下java类加载相关的知识。然后看到网上有一道面试题是能不能自己写个类叫java.lang.System&#xff1f;网上提供的答案&#xff1a;通常不可…

中奖人js滚动效果_js使用transition效果实现无缝滚动

作者&#xff1a;李大雷出自&#xff1a;SegmentFault 思否原文&#xff1a;segmentfault.com/a/1190000023945464前言无缝轮播一直是面试的热门题目&#xff0c;而大部分答案都是复制第一张到最后。诚然&#xff0c;这种方法是非常标准&#xff0c;那么有没有另类一点的方法呢…

计算机网络 --- 应用层

应用层概述 应用层对应用程序的通信提供服务。 应用层协议定义&#xff1a; 应用进程交换的报文类型&#xff0c;请求还是响应各种报文类型的语法&#xff0c;如报文中的各个字段及其详细描述字段的语义&#xff0c;即包含在字段中的信息的含义进程何时&#xff0c;如何发送…