‘壹’ 为什么python线性规划变量位数不变
python线性规划变量位数不变的原因是:名称一般叫做变量,表明它们引用的数据可以变化,而名称保持不变。看到变量也叫做名称(name),这是Python的叫法。
‘贰’ Python有哪些可以做带约束的二次线性规划的包
APM Python
- APM Python is free optimization software through a web service.
Nonlinear Programming problem are sent to the APMonitor server and
results are returned to the local Python script. A web-interface
automatically loads to help visualize solutions, in particular dynamic
optimization problems that include differential and algebraic equations.
Default solvers include APOPT, BPOPT, and IPOPT. Pre-configured modes
include optimization, parameter estimation, dynamic simulation, and
nonlinear control.
Coopr - The Coopr software project integrates a variety of Python optimization-related packages.
CVOXPT
- CVXOPT is a free software package for convex optimization based on
the Python programming language. It can be used with the interactive
Python interpreter, on the command line by executing Python scripts, or
integrated in other software via Python extension moles. Its main
purpose is to make the development of software for convex optimization
applications straightforward by building on Python’s extensive standard
library and on the strengths of Python as a high-level programming
language.
OpenOpt
(license: BSD) contains connections to tens of solvers and has some own
Python-written ones, e.g. nonlinear solver with specifiable accuracy: interalg, graphic output of convergence and some more numerical optimization "MUST HAVE" features. Also OpenOpt can solve FuncDesigner
problems with automatic differentiation, that usually work faster and
gives more precise results than finite-differences derivatives
approximation.
PuLP
- PuLP is an LP modeler written in python. PuLP can generate MPS or LP
files and call GLPK, COIN CLP/CBC, CPLEX, and GUROBI to solve linear
problems.
Pyomo
- The Python Optimization Modeling Objects (Pyomo) package is an open
source tool for modeling optimization applications in Python. Pyomo can
be used to define symbolic problems, create concrete problem instances,
and solve these instances with standard solvers. Pyomo provides a
capability that is commonly associated with algebraic modeling languages
such as AMPL, AIMMS, and GAMS, but Pyomo's modeling objects are
embedded within a full-featured high-level programming language with a
rich set of supporting libraries. Pyomo leverages the capabilities of
the Coopr software library, which integrates Python packages for
defining optimizers, modeling optimization applications, and managing
computational experiments.
scipy.optimize - some solvers written or connected by SciPy developers.
pyOpt
- pyOpt is a package for formulating and solving nonlinear constrained
optimization problems in an efficient, reusable and portable manner
(license: LGPL).
‘叁’ Python有哪些可以做带约束的二次线性规划的包
线性规划立足于求满足所有约束条件的最优解,而在 实际问题中,可能存在相互矛盾的约束条件.目标规划可 以在相互矛盾的约束条件下找到满意解.
‘肆’ python有能解决层次线性规划的库吗
约束条件没时间细看了,根据你的代码改了一下,没有语法错误了! !集部分; sets: month/1..12/: it, dt, st, rt, ht; endsets !目标函数; MAX=@sum(month(I): 5400*DT(I) + 2400.110*HT(I)); !约束条件; @for(month(I): Rt(I) - Dt(I) >=20; It(。
‘伍’ python的库怎么写的
库包括了一些常量,函数方法,以及类
比如说你要做一个叫做修理工具的库
这个库里就要有一些常用的手动工具,扳手,螺丝刀之类的。这相当于常量
然后还要有一些电动工具,手电转之类的。函数方法。
最后还不能少的就是说明书。没有说明搞修理,那是丈二和尚摸不着头脑。这个相当于类。
然后造一个维修间。把这些手动工具,电动工具,图纸说明说都找地方放好。
不可缺少的还有一个工作台。 有了这些库就成功构造好了。
需要用什么就到库里去拿。
python的库实际就是一个文件目录,在这个目录中包含了库的初始化文件,以及包含各种常量,方法,类的文件。最后还要设置python的环境变量,让python能够找到库在哪里。
‘陆’ python的pulp库解决线性规划问题
战术决策问题,某战略轰炸机队指挥官得到了摧毁敌方坦克生产能力的命令. 根据情报, 敌方有四个生产坦克部件的工厂, 位于不同的地方. 只要破坏其中任一工厂的生产设施就可以有效地停止敌方坦克的生产. 根据分析, 执行该任务的最大因素是汽油短缺, 为此项任务只能提供48000加仑汽油.而对于任何一种轰炸机来说, 不论去轰炸哪一个工厂都必须有足够往返的燃料和100加仑备余燃料.该轰炸机队现有重型和中型两种轰炸机, 其燃油消耗量及数量见下表
编号 飞机类型 每千米耗油量 飞机驾数
1 重型 1/2 48
2 中型 1/3 32
各工厂距离空军基地的距离和摧毁目标的概率见下表
工厂 距离/千米 摧毁目标概率(重型/中型)
1 450 0.10 0.08
2 480 0.20 0.16
3 540 0.15 0.12
4 600 0.25 0.20
所以应该去2号工厂1驾重型和1驾中型机,去4号工厂45驾重型机和31驾中型机。
‘柒’ 使用python解决提到数学题
先设s=25x+20y+60z
再随便设y=0,z=0.得到x<=60.
这说明解中的x的范围在[0,60]内.
之后就是在[0,60]范围内寻找这个解的过程了
简单的可以让x取遍从0到60这61个数,找出其中最大的就行了
y的值也做同样遍历.z只取最大的就可以了
max, maxy = 0, 0
for x in range(61):
maxy = 200 - x
if maxy > (180 - 3 * x):
maxy = 180 - 3 * x
for y in range(maxy + 1):
z = 200 - x - 2 * y
if z > (180 - 3 * x - y):
z = (180 - 3 * x - y)
if max < (25 * x + 20 * y + 60 * z):
max = (25 * x + 20 * y + 60 * z)
print "x = %d, y = %d, z = %d, max = %d" %(x, y, z, max)
好久没写python了..语法都是刚刚查的.可能有错误哈.效率看起来也不高
‘捌’ Python scipy库线性规划如何让变量取整数
scipy做线性规划不是很方便,推荐用pulp来做,这个模块不属于python的内置模块,需要先安装,pip install pulp
from pulp import *
# 设置对象
prob = LpProblem('myProblem', LpMinimize)
# 设置三个变量,并设置变量最小取值
x1 = LpVariable('x1', 0)
x2 = LpVariable('x2', 0)
x3 = LpVariable('x3', 0)
x4 = LpVariable('x4')
# 载入目标函数,默认是求最小值,因此这次对原目标函数乘以-1
prob += 3*x1 - 4*x2 + 2*x3 -5*x4
# 载入约束变量
prob += 4*x1 - x2 + 2*x3 -x4 == -2
prob += x1 + x2 -x3 + 2*x4 <= 14
prob += -2*x1 + 3*x2 + x3 -x4 >= 2
# 求解
‘玖’ Python里面的scipy库如何计算线性规划问题呢
这里有一篇文章介绍了如何做,但是不是你的例子,你参考以下,应该很简单就能写出来了http://jingyan..com/article/e2284b2b5800e6e2e6118d97.html