
idea worker - fikir işçisi
PYTHON PULP İÇİN SON YAZI: DEĞİŞKENLERİN LpContinuous OLARAK TANIMLANMASI
19.08.2019 02:48Python Pulp ile son yazımı ekliyorum ve bu konuda başka yazı eklemek istemiyorum. İç denetim ve doğrusal programlama için yazılar eklersem, farklı bir konu olduğunu düşüneceğim. Bu yazıyı şimdi ekliyorum, çünkü diğer yazılarda değişkenleri LpInteger (tam sayı) olarak tanımladık, ama değişkenlerin her zaman tam sayı olması zorunlu değil ki...
Aşağıda bir Maximization probleminin çerçevesi mevcut. Sayın İbrahim Küçükkoç tarafından internete eklenmiş ve Solver ile çözülmüş. Bu devirde herkesin Python öğrenmesini savunduğum için, Pulp ile çözüyorum:)
MAX ÖRNEĞİ |
||||||
|
Ürün 1 |
Ürün 2 |
Ürün 3 |
Ürün 4 |
|
Kısıt |
Kaynak 1 |
50 |
50 |
100 |
50 |
|
5800 |
Kaynak 2 |
5 |
15 |
10 |
5 |
|
730 |
Kaynak 3 |
500 |
400 |
300 |
200 |
|
29200 |
Kaynak 4 |
500 |
750 |
250 |
500 |
|
60500 |
|
|
|
|
|
|
|
Satış Bedeli |
450 |
1150 |
800 |
400 |
|
|
|
|
|
|
|
|
|
Kar Max İçin Üretim Hedefi |
X1 |
X2 |
X3 |
X4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Amaç Fonksiyonu Max 450X1 + 1150X2 + 800X3 + 400X4 |
||||||
|
|
|
|
|
|
|
Kısıtlar |
|
|
|
|
|
|
50X1 + 50X2 + 100X3 + 50X4 =< 5800 |
|
|
||||
5X1 + 15X2 + 10X3 + 5X4 =< 730 |
|
|
||||
500X1 + 400X2 + 300X3 + 200X4 =< 29200 |
|
|
||||
500X1 +750X2 + 250X3 + 500X4 =< 60500 |
|
|
||||
X1 , X2 , X3 , X4 >= 0 |
|
|
Pulp ile kodlar aşağıdadır. Değişkenleri LpContinuous olarak tanımladığımı özellikle belirtmek istiyorum.
—————