PulP线性优化(一)优化过程

本文介绍了使用Python的PuLP库进行线性优化的过程,包括获取问题描述、建模、制定数学公式、解决数学程序和后优化分析。强调了模型描述的严谨性和解决方案的解释与验证对实际决策的重要性。
摘要由CSDN通过智能技术生成

本文根据PuLP文档翻译而来,原文请参考
https://pythonhosted.org/PuLP/main/the_optimisation_process.html#getting-the-problem-description

优化过程


解决优化问题不是一个线性过程,但过程可分为五个一般步骤:

  • 获得问题描述
  • 制定数学公式
  • 处理数学公式
  • 执行一些后优化分析
  • 介绍解决方案和分析

但是,在此过程中通常存在“反馈循环”。例如,在制定和解决优化问题之后,您通常需要考虑解决方案的有效性(通常咨询提供问题描述的人员)。如果您的解决方案无效,您可能需要更改或更新您的配方,以包含您对实际问题的新理解。此过程显示在运筹学方法图中。
这里写图片描述
建模过程从明确定义的模型描述开始,然后使用数学方法来确定数学公式。接下来,建模者将数学公式输入到一些求解器软件中,例如Excel并求解该模型。最后,根据原始模型描述将解决方案转化为决策。

使用Python为您提供了建模过程的“快捷方式”。通过在Python中制定数学程序,您已经将它放入PuLP可以轻松使用的形式中,建模者可以调用许多求解器,例如CPLEX,COIN,gurobi,因此您无需将数

Windows 7上安装pulp和glpk步骤: 亲测环境: Windows 6.1.7601 Service Pack 1 Build 7601 x64 Python 2.7.11 PuLP 1.6.8 GLPK 4.34 安装步骤: 1、下载PuLP安装包:前提是,已安装python2.6以及2.6以上版本,在网页(https://pythonhosted.org/PuLP/main/installing_pulp_at_home.html)上点击PuLP zipfile下载pulp包,当然,也可以在我的资源里下载 2、安装PuLP:将zipfile解压缩,并在命令行窗口中,进入解压缩的目录,然后输入命令:setup.py install 3、下载glpk安装包:在网页(https://sourceforge.net/projects/gnuwin32/files/glpk/4.34/)上,下载glpk-4.34-setup.exe(也可以在我的资源里下载),然后双击默认安装 4、按照以上步骤,安装完以后,写一个.py的脚本并运行,脚本内容: from pulp import * pulp.pulpTestAll() 然后,会看到以下类似输出结果: D:\002-Task_150524\117-17data_thesis\004-code\testPulp.py Testing zero subtraction Testing inconsistant lp solution Testing continuous LP solution Testing maximize continuous LP solution Testing unbounded continuous LP solution Testing Long Names Testing repeated Names Testing zero constraint Testing zero objective Testing LpVariable (not LpAffineExpression) objective Testing Long lines in LP Testing LpAffineExpression divide Testing MIP solution Testing MIP solution with floats in objective Testing MIP relaxation Testing feasibility problem (no objective) Testing an infeasible problem Testing an integer infeasible problem Testing column based modelling Testing dual variables and slacks reporting Testing fractional constraints Testing elastic constraints (no change) Testing elastic constraints (freebound) Testing elastic constraints (penalty unchanged) Testing elastic constraints (penalty unbounded) * Solver pulp.solvers.PULP_CBC_CMD passed. Solver pulp.solvers.CPLEX_DLL unavailable Solver pulp.solvers.CPLEX_CMD unavailable Solver pulp.solvers.CPLEX_PY unavailable Solver pulp.solvers.COIN_CMD unavailable Solver pulp.solvers.COINMP_DLL unavailable Testing zero subtraction Testing inconsistant lp solut
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值