亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Python實現線性規劃求解

發布時間:2020-08-17 02:38:12 來源:ITPUB博客 閱讀:401 作者:云小蟲2019 欄目:編程語言

線性規劃標準形式:MATLAB

-------------

線性規劃求解主要分  兩個部分,目標函數(max,min)和約束條件(s.t.),求解時一般要化為MATLAB標準形式:

Python實現線性規劃求解

求解用到的模塊(scipy 和  numpy):

from scipy import optimize
import numpy as np

例題:

Python實現線性規劃求解

轉換成標準系數格式:

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)

LP求解函數:

#-*- coding:utf-8 -*-
#導入包
from scipy import optimize
import numpy as np
def LP(m='',clist=[],Alist=[],blist=[],Aeqlist=[],beqlist=[],all_x=()):
    #c,A,b,Aeq,beq,LB,UB,X0,OPTIONS
    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

main函數,方便其它調用:

#-*- coding:utf-8 -*-
import LP
import sys
if __name__ == '__main__':
    m = sys.argv[1]
    clist = list(eval(sys.argv[2]))
    Alist = list(eval(sys.argv[3]))
    blist = list(eval(sys.argv[4]))
    Aeqlist = list(eval(sys.argv[5]))
    beqlist =list(eval(sys.argv[6]))
    all_x = tuple(eval(sys.argv[7]))
    r=LP.LP(m=m,clist=clist,Alist=Alist,blist=blist,Aeqlist=Aeqlist,beqlist=beqlist,all_x=all_x)
    print(r)

說明: (1)因為系統參數傳入的都是字符串格式,所以main文件中,將傳入參數都轉換成列表。

           (2)標準是最小值,如果是最大值,c應該換成-c

最后執行結果:

Python實現線性規劃求解


紅圈里就是最大值,和最優解。


C#調用,參考:

https://blog.csdn.net/qq_42063091/article/details/82418630  






向AI問一下細節

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

AI

贵德县| 正安县| 湘乡市| 阿城市| 资中县| 丁青县| 新昌县| 西宁市| 通渭县| 玉田县| 云阳县| 东明县| 镇赉县| 松桃| 运城市| 六枝特区| 延安市| 神农架林区| 宜兰县| 三江| 台前县| 扬州市| 吉木乃县| 团风县| 金昌市| 清丰县| 新邵县| 综艺| 花莲县| 大足县| 卫辉市| 怀宁县| 鱼台县| 集安市| 威海市| 竹山县| 宜章县| 玛曲县| 贵阳市| 南安市| 乐清市|