2016-06-20 3 views

답변

0

은이 질문은 이미 this AMPL Google Group post에 대답하고있다 :

AMPL 언어는 포트란 서브 루틴 또는 C의 기능에 필적하는 기능이 없습니다. 대부분의 경우 "명령"을 사용하여 다른 AMPL 스크립트의 루프 내에서 하나의 AMPL 스크립트의 실행을 지정할 수 있습니다.

루프 내에서 AMPL의 "shell"명령을 사용하여 다른 언어로 작성되고 컴파일 된 함수 실행 파일을 호출 할 수도 있습니다. AMPL과 외부 기능 사이의 통신은 via 파일, 이어야합니다.

세 번째 방법은 AMPL에서 "사용자 정의 함수"로 액세스 할 수있는 실행 가능 바이너리 - Windows dll 또는 Unix 공유 라이브러리 -로 컴파일 할 수있는 C 프로그램 을 작성하는 것입니다. 사용자 정의 함수에 대한 가장 자세한 설명은 " 해 찾기에서 AMPL로 연결", www.ampl.com/REFS/abstracts.html#hooking2, 18-19 페이지를 참조하십시오. 이 기능에 대한 자세한 내용은 뒷부분의 페이지에서 예제 파일을 참조하여 www.netlib.org/ampl/solvers/examples를 참조하십시오. 사용자 정의 함수를 구현하는 또 다른 예제는 www.sor.princeton.edu/~rvdb/ampl/nlmodels의 Bob Vanderbei가 제공합니다.