2013-03-16 17 views
6

AMPL ile ilgili bir sorun yaşadım. Linux işletim sisteminin 32-bit sürümünü kullanıyorum. Basit bir lineer programmin problemini çözmeye çalışıyorum ama neyin yanlış olduğunu anlayamıyorum ... İşte model, veri dosyaları ve oturum senaryosu. "Çöz" komutunun yanıtı şöyledir: "Minos" bulunamıyor. Ama çözücü şu anda benim klasörümde! Çözücüleri değiştirmek yardımcı olmaz. Herhangi bir öneriniz var mı? SorununAMPL "minos" ı bulamıyor

Modeli:

param n; 
param t; 
param p{i in 1..n}; 
param r{i in 1..n}; 
param m{i in 1..n}; 
#Declaration of variables 
var x {i in 1..n} >=0; 
#Objective Function 
maximize revenues: sum {i in 1..n} p[i]*x[i] ; 
#Constraints 
subject to Aval_Time: sum{i in 1..n} x[i]/r[i]<=t; 
subject to Max_Flavor {i in 1..n}: x[i]<=m[i]; 

sorunun Verileri:

param n := 4;# No of Flavors 
param t := 40; # Total labor hour in a week 
param p := 1 1 2 1.5 3 1 4 1.5; # Revenue per package flavor i 
param r := 1 40 2 30 3 50 4 20; # Production rate of package flavor i 
param m := 1 1000 2 900 3 500 4 800; # Maximum demand package flavor i 

AMPL oturumu: Sistemin

reset; 
model example2.mod; 
data example2.dat; 
solve; 
display x; 

Cevap:

bulunamıyor " minos "

cevap

5

çözümleyicide eksik olduğunu bildirmek için hata iletisi çalışıyor. AMPL probleminizi çözmez, sadece modelinizi çözücü için uygun bir forma dönüştürür, çözücüye aktarır ve asıl çözüm çözücü tarafından yapılır. Bu, hata mesajıyla ilgili.

Bu sorunu çözmek için bir çözücüye ihtiyacınız var. Download ve minos çözücüyü ayıklayın. o exectuable olun: Bash kabuğu (değil AMPL kabuk) aşağıdaki sorunu: Eğer solve; komutunu vermeden önce çözücüdür nerede

chmod +x minos 

Ayrıca AMPL anlatmak var. çözmek komuta önce, mesele bu ya AMPL kabuğunda veya modeli dosyasında: Eğer /path/to/minos değiştirmek nerede

option solver "/path/to/minos"; 

Kurulumunuzla göre.

Hepsi bu kadar.

+0

Hmm ... Aslına bakarsanız AMPL'nin sorunu doğrudan çözmediğini biliyorum.Minos çözücü zaten indirildi ve çıkarıldı. Yürütülebilir bayrak (chmod + x) doğrudur. Üstelik bu ikili dosya, AMPL'imin bulunduğu yerdeki aynı damacana yerleştirildi. Ama yine de çalışmıyor ve AMPL bana hata mesajını gösteriyor ("minos" ı bulamıyor) ... –

+0

@RomanDryndik "Seçenek çözücüyü denediniz mi?/////Minoslar"; "Cevabımda önerdim ? – Ali

+0

Evet, denedim ama yardımcı olmadı. –

4

Linux gibi Unix ve Unix benzeri işletim sistemlerinde, geçerli dizin genellikle search path'da değil. solve komutundan önce

  • kullanın option solver './minos';: Aşağıdaki seçenekler mevcuttur. Yukarıdaki gibi olduğu gibi, Ali'nin önerdiği şekilde minosun mutlak yolunu kullanın.
  • AMPL dizini yolunu PATH ortam değişkenine ekleyin. arama yolunda bazı dizine
  • Kopyala (veya sembolik bir bağlantı oluşturmak) minos böyle benim yanıtın Gecikme için üzgünüm
1

/usr/local/bin olarak. Sorun, AMPL'li bir klasörde aşağıdaki komut

yapılarak çözülmüştür. Teşekkürler.