Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Xpress-MP 튜토리얼
경영과학
서울대학교 경영과학/최적화 연구실
차례
1. 다운로드 및 설치
2. 기본 개요 3. 파라미터 정의 4. 결정변수 선언 5. 목적함수 입력 6. 제약식 입력 7. 결과 출력
8. 예시
다운로드 및 설치
• 구글에서 ‘xpress-mp student version’으로 검색
다운로드 및 설치
• 검색 결과 클릭
Link : http://optimization.fico.com/student-version-of-fico-xpress.html
다운로드 및 설치
• 다운로드
Link : http://optimization.fico.com/student-version-of-fico-xpress.html
클릭
다운로드 및 설치
• 설치
Link : http://optimization.fico.com/student-version-of-fico-xpress.html
클릭
기본 개요
• Xpress-MP 창
프로젝트 창
입력창 출력창
정보창
기본 개요
• 새 파일 시작 (File ▶ New)
• model ▶ 프로젝트 이름 • uses ▶ 사용할 solver 선택
• parameters ▶ 모형 내에서 많이 사용할 고정 값 정의 • declarations ▶ 결정변수 선언 • 제약식, 목적함수 입력 • 출력부
파라미터 정의
• 문제에서 중요한 고정값(상수)들을 정의함
• 실제 문제를 풀이하는 경우, 주어진 고정값들이 변하게 되는 경우가 있음 • 이때, 파라미터를 선언하지 않는다면, 선언했던 결정변수와 제약식, 목적함수를 모두 변경시켜주어야 함 • 따라서 위와 같이 고정값들을 정의하고 정의한 파라미터를 수식에 넣어주면 이 불편을 겪지 않아도 됨
parameters 와 end-parameters 사이에서 정의함 :
(parameter 이름) = 값
결정변수 선언
• 최적화 문제의 결정변수를 선언
declarations와 end-declarations 사이에서 선언함 :
(결정변수 이름) : mpvar (결정변수 이름) : array(1..(array길이)) of mpvar
목적함수 입력
• 최적화 문제의 목적함수를 입력
결정변수가 선언된 이후- 목적함수를 정의 :
(식 이름) := 결정변수로 된 수식
• 목적함수를 최대화할 것인지, 최소화할 것인지는 제약식을 모두 입력하고 그 아래 작성함 :
minimize(목적함수 식 이름) maximize(목적함수 식 이름)
제약식 입력
• 최적화 문제의 제약식을 입력
결정변수가 선언된 이후- 제약식을 정의 :
결정변수로 된 수식 <= or = or >= 우변상수 결정변수 is_binary (0, 1 제약)
결정변수 is_integer (정수 제약)
결과 출력
• 출력하고 싶은 정보를 출력창에 띄우도록 명령어 작성
writeln( … ) ▶ 괄호 안의 내용을 출력하고 한 줄 내리는 명령어
괄호 안에 들어가는 주요 명령어
1. “ “ : 문자를 출력한다. 2. getobjval : 최적 목적함수 값을 출력한다. 3. getsol(결정변수 이름) : 특정 결정변수의 최적해를 출력한다. 4. getsensrng(A,B) : 민감도 분석을 실행한다. ▶ A에는 민감도 분석의 방향을 설정한다. (XPRS_UP, XPRS_DN) ▶ B에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의 목적함수 계수에 대한 민감도 분석 : 제약식을 쓰면, 제약식의 우변상수에 대한 민감도 분석
결과 출력
writeln( … ) ▶ 괄호 안의 내용을 출력하고 한 줄 내리는 명령어
괄호 안에 들어가는 주요 명령어
1. “ “ : 문자를 출력한다. 2. getobjval : 최적 목적함수 값을 출력한다. 3. getsol(결정변수 이름) : 특정 결정변수의 최적해를 출력한다. 4. getsensrng(A,B) : 민감도 분석을 실행한다. ▶ A에는 민감도 분석의 방향을 설정한다. (XPRS_UP, XPRS_DN) ▶ B에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의 목적함수 계수에 대한 민감도 분석 : 제약식을 쓰면, 제약식의 우변상수에 대한 민감도 분석
• 출력하고 싶은 정보를 출력창에 띄우도록 명령어 작성
모델 실행
Compile (F7) ▼
Run (F6)
모델 실행
Compile (F7) ▶ Run (F6)
최적해를 구함 무한히 발산함