2014-09-26 6 views
1

저는 제약 조건과 변수의 수가 AMPL과 같은 학생용 버전의 한계를 초과하는 모델을 사용하여 최적화를 수행하고 있으므로 모델 유형을 풀 수있는 웹 페이지 [http://www.neos-server.org/neos/solvers/milp:Gurobi/AMPL.html]]를 발견했습니다.AMPL : 명령 파일에 데이터 및 모델 명령을 포함 할 수없는 경우 NEOS 서버를 사용하여 변수 출력을 인쇄하는 방법은 무엇입니까?

그러나 나는 당신이 명령 파일 (.run 파일과 같다고 가정)을 제공 할 수있는 솔버를 사용할 때 NEOS 서버의 문서에서 입력 파일의 문서를보아야한다고 알았습니다.

data datafile; 
model modelfile; 
:

solve; 
display _varname, _var; 

문제는 NEOS 청구 당신이를 추가 할 수 있다는 것입니다 : 내가 [http://www.neos-guide.org/content/FAQ#ampl_variables]에 따른 모양으로 명령 파일을 사용하여 의사 결정 변수를 인쇄 할 수 있어야한다 AMPL 입력을 사용하고 있습니다

.run 파일로 명령을 내리면 컴파일러에서 변수를 찾을 수 없습니다.

누구든지이 문제를 해결할 방법을 알고 있습니까? 미리 감사드립니다.

편집 : 다른 사람이이 문제 (많은 사람들이 내 인터넷 검색을 기반으로한다고 생각하는 경우)가있는 경우. 을 시도하면 최종 재설정이 제거됩니다. .run 파일의 명령!

답변

1

model 또는 data 명령을 NEOS에 제출 된 스크립트 파일에 지정할 필요가 없습니다. 모델 및 데이터 파일을 자동으로로드하고 문제를 해결 한 다음 사용자가 제공 한 스크립트 (명령 파일)를 실행합니다. diet1.mod 모델을 diet1.dat 데이터를 제출 예를 들어,이 사소한 명령 파일

display _varname, _var; 

를 들어 당신이이 display 명령의 출력에서 ​​볼 수 있듯이

:    _varname    _var := 
1 "Buy['Quarter Pounder w/ Cheese']" 0 
2 "Buy['McLean Deluxe w/ Cheese']"  0 
3 "Buy['Big Mac']"      0 
4 "Buy['Filet-O-Fish']"    0 
5 "Buy['McGrilled Chicken']"   0 
6 "Buy['Fries, small']"    0 
7 "Buy['Sausage McMuffin']"   0 
8 "Buy['1% Lowfat Milk']"    0 
9 "Buy['Orange Juice']"    0 
; 

을 포함하는 출력을 생성합니다.

+0

이렇게하면 도움이되었습니다. 처음에는 내가 제공 한 코드와 똑같은 코드라고 믿었습니다. 그런 다음 다른 점이 있었는지 생각하기 시작했고, 나는 "리셋"을했음을 기억합니다. 내 .run 파일에서도 AMPL을 직접 사용하는 습관이 없습니다. 그 행을 삭제하면 내가 성취하고자하는 결과를 얻었습니다. 다시 한 번 감사드립니다! – Cenderze