Pulp: LpVariable.dicts () 'e sınır ekleme
Sep 02 2020
Diyelim ki bu sözlüğe sahibim:
cars = ["car1","car2","car3","car4","car5"]
x = LpVariable.dicts("car",cars, cat='Integer', lowBound=0, upBound=800)
Her arabaya farklı lowBound ve upBound eklemenin bir yolu var mı lütfen?
Not
Kolay kod sürümü şuna benzer:
car1 = LpVariable("car1", 0, 40)
car2 = LpVariable("car2", 0, 1000)
Lütfen car1 upBound'un 40 ve car 2 upBound'un 1000 olduğuna dikkat edin.
Yanıtlar
1 test1500 Sep 02 2020 at 20:18
Son olarak, harika kodunu kullanarak yaptım: PuLP değişkenlerini ve kısıtlamalarını exec kullanmadan nasıl oluşturabilirim? Çok teşekkürler DSM, kardeşim!
prob = LpProblem("problem", LpMaximize)
# Setting LP variables
lpVars =["car1","car2","car3"]
upbounds=[40,80,30]
xs = [LpVariable("car{}".format(i+1), lowBound = 0, upBound = upbounds[i], cat='Integer' ) for i in range(len(lpVars))]
# add objective
margin = [3,2,3]
total_prof = sum(x * value for x,value in zip(xs, margin))
prob += total_prof
# add constraint
labour = [2,1,4]
total_labour = sum(x * w for x,w in zip(xs, labour))
prob += total_labour <= 100
# Solve the problem
prob.solve()
Bir sonraki adım, ön uç uygulamasından dizi değişkenlerini almaktır (yükselme, marj, emek, vb.), Teşekkürler kardeşim, github'ımı gözet
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'