python引入包pulp_用python的pulp库解决线性规划问题

本文演示如何利用Python的pulp库解决线性规划问题,对比了python与其他工具如matlab和lingo的优点。通过一个6个生产点8个销售点的最小费用运输问题,详细解释了建模、定义变量、输入数据、设定目标函数和约束,以及求解和输出结果的步骤。
摘要由CSDN通过智能技术生成

本文会介绍怎么用python解决线性规划问题,为什么要用python而不是matlab和lingo呢?因为matlab的函数写法不太符合正常的思维方式,编起来很复杂。而lingo虽然编写容易,但报错不详细,一旦有错很难查出来。而python就没有这些问题。

关于python的语法就不再介绍了,主要介绍pulp库的用法。

以此题为例:计算6个生产点8个销售点的最小费用运输问题。产销单位运价如下表。

1558931f3539

先建模,很容易得到以下模型:

1558931f3539

现在开始编程:

引入头文件是必须的:

#-*- coding: UTF-8 -*-

importnumpyasnp

frompulpimport*

step1先新建一个问题,随便取名为prob:

prob = LpProblem("test1", LpMinimize)

step2然后定义变量为x,每个x代表了对应的A点卖到B点的数量:

foriinrange(1, 49, 1):

exec('x%s= LpVariable("x%s", 0, None, LpInteger,[])'%(i,i))

x = [[x1,x2,x3,x4,x5,x6,x7,x8],[x9,x10

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值