中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中求解線性規劃的包是什么

發布時間:2021-08-10 12:38:29 來源:億速云 閱讀:136 作者:小新 欄目:編程語言

這篇文章主要介紹python中求解線性規劃的包是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

說明

1、Scipy庫提供簡單的線性或非線性規劃問題。

但不能解決背包問題的0-1規劃問題,或者整數規劃問題,混合整數規劃問題。

2、PuLP可以解決線性規劃、整數規劃、0-1規劃和混合整數規劃問題。

為不同類型的問題提供各種解決方案。

3、Cvxpy是一個凸優化工具包。

可以解決線性規劃、整數規劃、0-1規劃、混合整數規劃、二次規劃和幾何規劃等問題。

實例

以整數線性規劃為例

# -*- coding: utf-8 -*-
import pulp as pulp
 
def solve_ilp(objective , constraints) :
    print objective
    print constraints
    prob = pulp.LpProblem('LP1' , pulp.LpMaximize)
    prob += objective
    for cons in constraints :
        prob += cons
    print prob
    status = prob.solve()
    if status != 1 :
        #print 'status'
        #print status
        return None
    else :
        #return [v.varValue.real for v in prob.variables()]
        return [v.varValue.real for v in prob.variables()]
 
 
 
#解如下整數線性規劃
#maximize  z = c*x = 3*x1 + 4*x2 + 5*x3
#subject to :
#x1 2 3 >= 0
#x1 + 2*x2 <  20
#x2 + 3*x3 <= 40     
 
 
 
 
 
V_NUM = 3
#變量,直接設置下限
variables = [pulp.LpVariable('X%d'%i , lowBound = 0 , cat = pulp.LpInteger) for i in range(0 , V_NUM)]
#目標函數
c = [3 , 4 , 5]
objective = sum([c[i]*variables[i] for i in range(0 , V_NUM)])
#約束條件
constraints = []
 
a1 = [1 , 2 , 0]
constraints.append(sum([a1[i]*variables[i] for i in range(0 , V_NUM)]) <= 100)
a2 = [0 , 1 , 3]
constraints.append(sum([a2[i]*variables[i] for i in range(0 , V_NUM)]) <= 40)
print constraints
 
res = solve_ilp(objective , constraints)
print res

以上是“python中求解線性規劃的包是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

芒康县| 宁国市| 登封市| 曲麻莱县| 辽阳县| 北安市| 东乌珠穆沁旗| 望奎县| 阜平县| 武清区| 美姑县| 桂东县| 阳城县| 阳山县| 永安市| 琼中| 广宁县| 东光县| 英山县| 天镇县| 商河县| 中江县| 静海县| 安达市| 晋江市| 古田县| 绍兴市| 秭归县| 汉川市| 公安县| 惠安县| 武夷山市| 诸暨市| 隆尧县| 渭源县| 阿瓦提县| 兴业县| 江西省| 定日县| 平远县| 连山|