当前位置:   article > 正文

使用python-pymprog模块解决线性规划的问题_python的pymprog

python的pymprog

使用python-pymprog模块解决线性规划的问题

今天在学习数模的过程中遇到了一些线性规划的问题,老师推荐的是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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

本例来自Pymprog官网:http://pymprog.sourceforge.net/intro.html

就先写到这

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/844152
推荐阅读
相关标签
  

闽ICP备14008679号