zoukankan      html  css  js  c++  java
  • 线性规划

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

  • 相关阅读:
    数据库与ORM
    Django之Template
    Django路由配置系统、视图函数
    Django基本命令
    MVC和MTV模式
    转载:CSS实现三栏布局的四种方法示例
    转载:JSONObject.fromObject(map)(JSON与JAVA数据的转换)
    转载:CURL常用命令
    转载:详解CSS选择器、优先级与匹配原
    转载:Struts2.3.15.1升级总结
  • 原文地址:https://www.cnblogs.com/limingqi/p/11715865.html
Copyright © 2011-2022 走看看