이 섹션에서는 일반적인 작업 흐름이 어떻게 이루어지는지 보여줍니다. MIRO 애플리케이션 개발은 다음과 같습니다. 슬롯 사이트 또는 GAMSPy 모델을 초기화하고 배포까지 MIRO 애플리케이션을 사용자 정의합니다. 이 튜토리얼은 가장 중요한 사항에 대한 빠른 가이드입니다. MIRO 애플리케이션 개발의 측면. 는 개별적인 측면은 다음에 자세히 설명되어 있습니다. 해당 링크된 장().
MIRO 애플리케이션을 개발하는 가장 쉬운 방법은 다음과 같습니다. 슬롯 사이트 모델을 기반으로 한 스크래치를 사용하는 것입니다슬롯 사이트 스튜디오. 가장 중요한 내장 기능을 제공합니다. MIRO와의 상호 작용. 이에 대해 자세히 알아보기여기. 개발하고 싶다면 GAMSPy 모델을 위한 MIRO 애플리케이션, MIRO는 명령줄에서 수행됩니다. 이에 대한 자세한 내용은 다음 장에서.
이상적으로는 완전히 개발된 슬롯 사이트로 시작하는 것이 좋습니다
큰 변화가 없는 모델 또는 모델
나중에 MIRO에 표시되는 기호
(물론 처음부터 시작할 수도 있고
진행하면서 기호를 조정하세요.) 우리의 예에서 우리는
클래식을 사용하세요Trnsport 모델슬롯 사이트 모델 라이브러리에서. 우리가 가진 유일한 것은
모델에서 해야 할 일은 MIRO에게 우리가 어떤 기호를 사용하는지 알려주는 것입니다.
응용 프로그램에서보고 싶습니다. 우리는 이것을 통해
해당하는 래핑기호 선언태그 포함$onExternalInput
/
$offExternalInput입력 데이터의 경우$onExternalOutput
/
$offExternalOutput출력 데이터용. 이 태그는 여러 번 사용할 수 있습니다.
모델 내 시간. 태그가 지정되지 않은 기호
MIRO에는 표시되지 않습니다.
설정
i '통조림 식물' / 시애틀, 샌디에고 /
j 'markets' / 뉴욕, 시카고, 토피카 /;
$onExternalInput
매개변수
a(i) '경우에 따라 식물 i의 용량'
/시애틀 350
샌디에이고 600 /
b(j) '경우에 따라 시장 j의 수요'
/ 뉴욕 325
시카고 300
토피카 275 /;
테이블 d(i,j) '거리(천 마일)'
뉴욕 시카고 토피카
시애틀 2.5 1.7 1.8
샌디에고 2.5 1.8 1.4;
스칼라 f '1,000마일당 케이스당 운임(달러)' / 90 /;
$offExternalInput
매개변수 c(i,j) '케이스당 운송 비용(단위: 수천 달러)';
c(i,j) = f*d(i,j)/1000;
$onExternalOutput
변수
x(i,j) '케이스의 선적 수량'
z '총 운송 비용(천 달러)';
$offExternalOutput
양수 변수 x;
방정식
비용 '목적 함수 정의'
Supply(i) '공장 i의 공급 제한을 준수합니다.'
수요(j) '시장 j의 수요를 충족';
비용.. z =e= sum((i,j), c(i,j)*x(i,j));
공급(i).. sum(j, x(i,j)) =l= a(i);
수요(j)..sum(i, x(i,j)) =g= b(j);
모델 운송 / 모두 /;
z를 최소화하는 lp를 사용하여 전송을 해결합니다.
x.l, x.m을 표시합니다.
처음으로 MIRO를 시작한 후 모든 선택한 기호는 표 형식으로 제공됩니다. 기본 구성으로 데이터를 로드할 수 있으며, 인터페이스 내에서 수정하고 시작하거나 슬롯 사이트 작업을 중지합니다. 또한 다음에도 액세스할 수 있습니다.로그그리고목록 (lst) 파일의 슬롯 사이트 및 실행 중에 생성된 모든 파일. 모델이 실행 단계를 완료한 경우 성공적으로 결과를 검사할 수 있습니다. 이후 MIRO는 데이터베이스에 연결되어 저장할 수 있습니다. 결과를 가져오고 이전에 저장한 결과를 가져오고 수정하거나 다른 제품과 비교하는 데 사용하세요. 시나리오.
이상적으로는 완전히 개발된 GAMSPy 모델 또는 큰 변화가 없는 모델 나중에 볼 수 있는 기호로 만들어집니다. MIRO에서는(물론 처음부터 시작할 수도 있습니다) 이동하면서 기호를 조정하세요.) 우리의 예에서는 우리는 클래식을 사용합니다교통 문제. GAMSPy 모델을 사용하기 위해 수행해야 할 모든 작업 슬롯 사이트 MIRO는 MIRO 입력 및 출력에 주석을 추가하는 것입니다. 기호. 예를 들어 다음 코드 조각은 기호를 선언합니다dMIRO 입력으로 기호xMIRO 출력으로:
...
...
데이터 준비
...
...
a = 매개변수(m, 이름="a", 도메인=[i], 레코드=용량)
b = 매개변수(m, 이름="b", 도메인=[j], 레코드=요구)
d = 매개변수(m, 이름="d", 도메인=[i, j], 레코드=거리, is_miro_input=True)
x = 변수(m, name="x", domain=[i, j], type="Positive", is_miro_output=True)
...
...
모델.해결()
주석이 추가되지 않은 기호는 다음에서 볼 수 없습니다. 미로.
미로 기호를 다음으로 표시한 후is_miro_input그리고is_miro_output, 다음을 사용하여 MIRO를 실행할 수 있습니다. 다음 GAMSPy 명령줄 유틸리티:
처음으로 MIRO를 시작한 후 모든 선택한 기호는 표 형식으로 제공됩니다. 기본 구성으로 데이터를 로드할 수 있으며, 인터페이스 내에서 수정하고 시작하거나 슬롯 사이트 작업을 중지합니다. 또한 다음에도 액세스할 수 있습니다.로그파일과 그 동안 생성된 모든 파일 달리다. 모델이 완료되면 결과를 얻을 수 있습니다. 검사를 받다. MIRO는 데이터베이스와 연결되어 있으므로 거기에 결과를 저장하고 이전에 저장한 것을 가져올 수 있습니다. 결과를 수정하거나 이를 사용하여 비교 다른 시나리오.
이제 MIRO 앱을 구성할 수 있습니다. 여기에는 다음이 포함됩니다
다음 예에서 a지도구성되었습니다 기호에 대한 그래픽으로:
MIRO 앱이 완전히 구성되었을 때, 즉 모든 그래픽이 생성되었고, 옵션이 설정되었으며, 조정이 완료되면 앱을 배포할 수 있습니다. MIRO 애플리케이션 배포는 내보내기 프로세스입니다. 쉽게 공유할 수 있도록 앱을 설치합니다. 최종 사용자의 일상 업무에 사용됩니다. 아니요 모델이나 구성에 대한 추가 변경이 가능합니다. 일단 배포되면 만들어집니다.
MIRO 애플리케이션 배포를 직접 수행할 수 있습니다.슬롯 사이트 Studio 내에서. 우리는 두 가지 작업을 수행해야 합니다. 명확하게슬롯 사이트 모델에 속하는 파일그런 다음 이 모든 파일을 다음과 함께 패키지합니다. 앱 구성을 앱 번들로 통합합니다. 결과는 단일.miroapp다음으로 보낼 수 있는 파일 애플리케이션의 최종 사용자입니다.
GAMSPy MIRO 앱을 배포하려면 두 가지를 수행해야 합니다. 것들: 명확하게슬롯 사이트 모델에 속하는 파일그런 다음 이 모든 파일을 다음과 함께 패키지합니다. 앱 구성을 앱 번들로 통합합니다. 에 대한 후자는 다음을 사용하여 GAMSPy 명령줄 유틸리티를 실행합니다.--모드=배포:
결과는 단일.miroapp파일 애플리케이션의 최종 사용자에게 전송될 수 있습니다.
앱이 로컬 컴퓨터에서 사용된다면, 개인 MIRO Desktop 라이브러리에 간단히 추가되었습니다. 거기, 배포된 모든 MIRO 앱에 액세스하고 시작할 수 있습니다.
일반적인 작업 흐름이 어떤 모습일지는 이 정도입니다. MIRO는 여기에 표시된 로컬 설정 외에도 다음을 제공합니다. 클라우드 또는 호스트에서 슬롯 사이트 작업을 해결할 가능성 거기에 애플리케이션을 설치하고 귀하와 협력할 수 있습니다. 클라우드의 동료. 이에 대해 자세히 알아볼 수 있습니다.여기.