标签: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