码迷,mamicode.com
首页 > 其他好文 > 详细

线性规划

时间:2019-10-21 20:42:12      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:bounds   cli   最小   else   ret   from   http   imp   问题:   

一般分为两类问题:1 是如何合理地使用有限的劳动力,设备,资金等资源,获得最大的利润。2 为了达到某一个目标,应该如何组织生产,或者安排生产工艺流程,使得消耗资源最小。线性规划的条件:决策变量,目标函数,约束条件。

min  z = Σcx(j个变量)

s.t   Σax(j)=b 

      x(j) >=0

其中b>=0,对目标函数求最小值,决策变量一律要求非负,约束条件除非负约束条件外,一律为等式约束;约束条件的右端项一律为非负。

min    z = cx

s.t     Ax = b

         x>=

 

 

技术图片

from scipy import optimize
import numpy as np

c = [2,3,-5]
A = [[-2,5,-1],[1,3,1]]
b = [-10,12]
Aeq = [[1,1,1]]
beq = [7]
x1 = (0,None)
x2 = (0,None)
x3 = (0,None)

def LP(m=‘‘,clist=[],Alist=[],blist=[],Aeqlist=[],beqlist=[],all_x=()):
c = np.array(clist)
A = np.array(Alist)
b = np.array(blist)
Aeq = np.array(Aeqlist)
beq = np.array(beqlist)
# 求解
if m == ‘min‘:
res = optimize.linprog(c, A, b, Aeq, beq, bounds=all_x)
fun = res.fun
x = res.x
else:
res = optimize.linprog(-c, A, b, Aeq, beq, bounds=all_x)
fun = -(res.fun)
x = res.x
return fun, x

凸集:设s是空间中的任意点集,若对任意的x1,x2属于s,集合中任意两点的连线都在集合中为凸集。

线性规划

标签:bounds   cli   最小   else   ret   from   http   imp   问题:   

原文地址:https://www.cnblogs.com/limingqi/p/11715865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!