线性规划

╄→гoц情女王★ 提交于 2019-12-01 20:04:36

一般分为两类问题: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 optimizeimport numpy as npc = [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,集合中任意两点的连线都在集合中为凸集。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!