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

溫馨提示×

溫馨提示×

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

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

python有什么求解線性規劃的包

發布時間:2022-05-27 15:21:16 來源:億速云 閱讀:122 作者:iii 欄目:大數據

本篇內容主要講解“python有什么求解線性規劃的包”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“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

花莲市| 偃师市| 沅陵县| 碌曲县| 子长县| 黔西| 垫江县| 盖州市| 盐源县| 清河县| 惠东县| 临潭县| 大名县| 固镇县| 南澳县| 越西县| 沅江市| 洞口县| 泸溪县| 城口县| 东平县| 嘉定区| 西乌珠穆沁旗| 遂川县| 浦江县| 罗源县| 吉首市| 商都县| 陇川县| 睢宁县| 彰化市| 石门县| 武清区| 玉林市| 新化县| 平泉县| 盐亭县| 辛集市| 江陵县| 龙里县| 阿拉尔市|