使用python线性规划学习总结x

来源:普通话 发布时间:2020-08-28 点击:

 使用 python 线性规划学习总结

 1.pulp 例子:https://blog.csdn.net/MartaYang/article/details/71439074

  https://blog.csdn.net/cyuhong/article/details/50865909

 https://www.cnblogs.com/shizhenqiang/p/8274806.html

 2.python-pymprog 3. scipy.optimize.linprog

  1.pulp 试试这个模块 from pulp import *

 # 设置对象

 f

 = LpProblem("lptest", LpMinimize)

 # 设置三个变量,并设置变量最小取值

 x = LpVariable("x", lowBound = 0)

 y = LpVariable("y", lowBound = 0)

 z = LpVariable("z", lowBound = 0)

  # 载入约束变量

 f += 3.05 * x + 4.05 * y + 6.1 * z >= 7.9

  # 求解

 GLPK().solve(f)

  # 显示结果

 for i in f.variables():

 print(i.name + "=" + str(i.varValue))

 显示如下:

 GLPSOL: GLPK LP/MIP Solver, v4.55

 Parameter(s) specified in the command line:

  --cpxlp C:\Users\tony\AppData\Local\Temp\12100-pulp.lp -o C:\Users\tony\AppData\Local\Temp\12100-pulp.sol

 Reading problem data from "C:\Users\tony\AppData\Local\Temp\12100-pulp.lp"...

 1 row, 4 columns, 3 non-zeros

 8 lines were read

 GLPK Simplex Optimizer, v4.55

 1 row, 4 columns, 3 non-zeros

 Preprocessing...

 1 row, 3 columns, 3 non-zeros

 Scaling...

  A: min|aij| = 3.050e+000

 max|aij| = 6.100e+000

 ratio = 2.000e+000

 Problem data seem to be well scaled

 Constructing initial basis...

 Size of triangular part is 1

 0: obj =

 0.000000000e+000

 infeas = 7.900e+000 (0)

 *

  1: obj =

 0.000000000e+000

 infeas = 0.000e+000 (0)

 OPTIMAL LP SOLUTION FOUND

 Time used:

  0.0 secs

 Memory used: 0.0 Mb (36952 bytes)

 Writing basic solution to "C:\Users\tony\AppData\Local\Temp\12100-pulp.sol"...

 1

  __dummy=None

 x=0.0

 y=0.0

 z=1.29508

 使用 python-pymprog 模块解决线性规划问题 原文 https://blog.csdn.net/Gardenia_Hello/article/details/70466079 今天在学习数模的过程中遇到了一些线性规划的问题,老师推荐的是 lingo 这款软件,然而并不想因此再新学一门语言。于是找到了找到了一个 python 下解决线性规划问题的模块——Pymprog。

 - 安装 本人使用的 Windows 下的 Python 环境 Anaconda,使用 conda 应该是找不到这个模块的,直接使用 pip 安装即可。

 pip install pymprog

 • 1

 - 简单的例子 如解决如下规划问题:

 maximize

 15 x + 10 y

  # 目标函数

 S.T.

  x

  <=

 3

 # 约束条件 1

 y

 <=

 4

 # 约束条件 2

  x +

 y

 <=

 5

 # 约束条件 3

  x >=0, y >=0

  # x,y 非零

 1 2 3 4 5 • 6 #coding: utf-8

 from pymprog import *

 begin("bike production")

 x, y = var("x, y") # 变量

 maximize(15 * x + 10 * y, "profit") # 目标函数

 x <= 3 # 约束条件 1

 y <= 4 # 约束条件 2

 x + y <= 5 # 约束条件 3

 solve()

 1 2 3 4 5 6 7 8 • 9 产生结果如下:

 >>> from pymprog import *

 >>> begin("bike production")

 model("bikes production") is the default model.

 >>> x, y = var("x, y") # create variables

 >>> x, y # take a look at them

 (0 <= x continuous, 0 <= y continuous)

 >>> maximize(15*x + 10*y, "profit")

 Max profit: 15 * x + 10 * y

 >>> x <= 3

 0 <= x <= 3 continuous

 >>> y <= 4

 0 <= y <= 4 continuous

 >>> x + y <= 5

 R1: x + y <= 5

 >>> solve()

 GLPK Simplex Optimizer, v4.60

 1 row, 2 columns, 2 non-zeros

 *

  0: obj =

 -0.000000000e+00 inf =

  0.000e+00 (2)

 *

  2: obj =

  6.500000000e+01 inf =

  0.000e+00 (0)

 OPTIMAL LP SOLUTION FOUND

推荐访问:线性规划 学习 Python
上一篇:市人大代表述职材料
下一篇:论文:中国财政支出现状及分析

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有