2016-03-23 22 views
1

AMPL'de bir tür program optimizasyon problemini modellediyorum ve seçenek çözücü için gurobi kullanıyorum.AMPL Sözdizimi Hatası - Sayıya eşit veya daha büyük

Bu problemde, 1'den 1000'e kadar bir dizi program bildirdim ve bu diziyi "Zamanlamalar" olarak adlandırdım. Her program, 1'den 4'e kadar değişen bir değere sahip bir katman katman ("katman" olarak adlandırılan bir parametre oluşturulmuştur). Bu, belirli programın sahip olduğu günlerin bir tercihidir veya hiredir.

Her tercihin kaç tane çizelgesinin kullanılabilir olduğunu belirleyen çeşitli kısıtlamalar istiyorum. Örneğin, ben bunu aşağıdaki satırı yazdım 1 bir tercih tabakasını olması programları en az 170 istiyorum:

subject to Preference1: sum {j in Schedules: layer[j]=1} >= L1Demand; 
ben dahil giderken L1Demand Ancak ila 170 ayarlanır

syntax error 

context: 

subject to Preference1: sum {j in Schedules: layer[j]=1} >>> >= <<< L1Demand; 

bu sözdizimi hatası dışarı atıyor neden anlamıyorum: ampl penceresindeki model dosyası, aşağıdaki hatayı alıyorum. Çok basit ya da açık bir şey eksik olabilirim, ama bana bunun neden böyle olacağını söyleyen biri olabilir mi? Çok teşekkür ederim.

cevap

1

Örneğin, sum için bir argüman belirtmek gerekir:

x
sum {j in Schedules: layer[j]=1} x[j] 

Schedules üzerinde endeksli bazı değişkendir.

İlgili konular