第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 gekko 中動(dòng)態(tài)構(gòu)建約束?

如何在 gekko 中動(dòng)態(tài)構(gòu)建約束?

慕碼人8056858 2024-01-16 10:35:32
我是 gekko 的新手,想在我的線性規(guī)劃問題中使用它。我在單獨(dú)的字典(my_vars、Cost、Min 和 Max)中有變量名稱、成本、最小和最大界限,以變量名稱作為鍵,目標(biāo)是通過確定滿足約束的變量數(shù)量來最小化總成本。我做了如下;LP = GEKKO(remote=False)vars = LP.Array(LP.Var, (len(my_vars)))i=0for xi in vars:    xi.lower = Min[list(my_vars)[i]]    xi.upper = Max[list(my_vars)[i]]    i += 1這里我想使用變量原始名稱而不是xi,有什么辦法嗎?它繼續(xù)為;LP.Minimize(sum(float(Cost[list(my_vars)[i]])*vars[i] for i in range(len(my_vars))))LP.Equation(sum(vars) == 100)另外,我在兩個(gè) pandas 數(shù)據(jù)幀文件中都有約束的左側(cè)(LHS)(變量系數(shù))和右側(cè)(RHS)數(shù)字,并且喜歡使用 for 循環(huán)構(gòu)建方程。我不知道該怎么做?
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊

這是使用字典值構(gòu)建問題的一種方法:


from gekko import GEKKO


# stored as list

my_vars = ['x1','x2']

# stored as dictionaries

Cost = {'x1':100,'x2':125}

Min = {'x1':0,'x2':0}

Max = {'x1':70,'x2':40}


LP = GEKKO(remote=False)

va = LP.Array(LP.Var, (len(my_vars)))? # array

vd = {}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # dictionary

for i,xi in enumerate(my_vars):

? ? vd[xi] = va[i]

? ? vd[xi].lower = Min[xi]

? ? vd[xi].upper = Max[xi]


# Cost function

LP.Minimize(LP.sum([Cost[xi]*vd[xi] for xi in my_vars]))?

# Summation as an array

LP.Equation(LP.sum(va)==100)

# This also works as a dictionary

LP.Equation(LP.sum([vd[xi] for xi in my_vars])==100)

LP.solve(disp=True)


for xi in my_vars:

? ? print(xi,vd[xi].value[0])

print ('Cost: ' + str(LP.options.OBJFCNVAL))

這產(chǎn)生了一個(gè)解決方案:


EXIT: Optimal Solution Found.


?The solution was found.


?The final value of the objective function is? 10750.00174236579

?

?---------------------------------------------------

?Solver? ? ? ? ?:? IPOPT (v3.12)

?Solution time? :? 0.012199999999999996 sec

?Objective? ? ? :? 10750.00174236579

?Successful solution

?---------------------------------------------------

?


x1 69.999932174

x2 30.0000682

Cost: 10750.001742


查看完整回答
反對(duì) 回復(fù) 2024-01-16
  • 1 回答
  • 0 關(guān)注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)