python有什么求解線(xiàn)性規(guī)劃的包

本篇內(nèi)容主要講解“python有什么求解線(xiàn)性規(guī)劃的包”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“python有什么求解線(xiàn)性規(guī)劃的包”吧!

創(chuàng)新互聯(lián)公司主營(yíng)甘德網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā)公司,甘德h5微信小程序定制開(kāi)發(fā)搭建,甘德網(wǎng)站營(yíng)銷(xiāo)推廣歡迎甘德等地區(qū)企業(yè)咨詢(xún)

說(shuō)明

1、Scipy庫(kù)提供簡(jiǎn)單的線(xiàn)性或非線(xiàn)性規(guī)劃問(wèn)題。

但不能解決背包問(wèn)題的0-1規(guī)劃問(wèn)題,或者整數(shù)規(guī)劃問(wèn)題,混合整數(shù)規(guī)劃問(wèn)題。

2、PuLP可以解決線(xiàn)性規(guī)劃、整數(shù)規(guī)劃、0-1規(guī)劃和混合整數(shù)規(guī)劃問(wèn)題。

為不同類(lèi)型的問(wèn)題提供各種解決方案。

3、Cvxpy是一個(gè)凸優(yōu)化工具包。

可以解決線(xiàn)性規(guī)劃、整數(shù)規(guī)劃、0-1規(guī)劃、混合整數(shù)規(guī)劃、二次規(guī)劃和幾何規(guī)劃等問(wèn)題。

實(shí)例

以整數(shù)線(xiàn)性規(guī)劃為例

# -*- 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()]
 
 
 
#解如下整數(shù)線(xiàn)性規(guī)劃
#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
#變量,直接設(shè)置下限
variables = [pulp.LpVariable('X%d'%i , lowBound = 0 , cat = pulp.LpInteger) for i in range(0 , V_NUM)]
#目標(biāo)函數(shù)
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

到此,相信大家對(duì)“python有什么求解線(xiàn)性規(guī)劃的包”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前題目:python有什么求解線(xiàn)性規(guī)劃的包
轉(zhuǎn)載源于:http://muchs.cn/article48/gppiep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、外貿(mào)建站、企業(yè)網(wǎng)站制作網(wǎng)站內(nèi)鏈、關(guān)鍵詞優(yōu)化、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司