16
Xpress-MP 튜토리얼 경영과학 서울대학교 경영과학/최적화 연구실

Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

Xpress-MP 튜토리얼

경영과학

서울대학교 경영과학/최적화 연구실

Page 2: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

차례

1. 다운로드 및 설치

2. 기본 개요 3. 파라미터 정의 4. 결정변수 선언 5. 목적함수 입력 6. 제약식 입력 7. 결과 출력

8. 예시

Page 3: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

다운로드 및 설치

•  구글에서 ‘xpress-mp student version’으로 검색

Page 4: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

다운로드 및 설치

•  검색 결과 클릭

Link : http://optimization.fico.com/student-version-of-fico-xpress.html

Page 5: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

다운로드 및 설치

•  다운로드

Link : http://optimization.fico.com/student-version-of-fico-xpress.html

클릭

Page 6: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

다운로드 및 설치

•  설치

Link : http://optimization.fico.com/student-version-of-fico-xpress.html

클릭

Page 7: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

기본 개요

•  Xpress-MP 창

프로젝트 창

입력창 출력창

정보창

Page 8: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

기본 개요

•  새 파일 시작 (File ▶ New)

•  model ▶ 프로젝트 이름 •  uses ▶ 사용할 solver 선택

•  parameters ▶ 모형 내에서 많이 사용할 고정 값 정의 •  declarations ▶ 결정변수 선언 •  제약식, 목적함수 입력 •  출력부

Page 9: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

파라미터 정의

•  문제에서 중요한 고정값(상수)들을 정의함

•  실제 문제를 풀이하는 경우, 주어진 고정값들이 변하게 되는 경우가 있음 •  이때, 파라미터를 선언하지 않는다면, 선언했던 결정변수와 제약식, 목적함수를 모두 변경시켜주어야 함 •  따라서 위와 같이 고정값들을 정의하고 정의한 파라미터를 수식에 넣어주면 이 불편을 겪지 않아도 됨

parameters 와 end-parameters 사이에서 정의함 :

(parameter 이름) = 값

Page 10: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

결정변수 선언

•  최적화 문제의 결정변수를 선언

declarations와 end-declarations 사이에서 선언함 :

(결정변수 이름) : mpvar (결정변수 이름) : array(1..(array길이)) of mpvar

Page 11: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

목적함수 입력

•  최적화 문제의 목적함수를 입력

결정변수가 선언된 이후- 목적함수를 정의 :

(식 이름) := 결정변수로 된 수식

•  목적함수를 최대화할 것인지, 최소화할 것인지는 제약식을 모두 입력하고 그 아래 작성함 :

minimize(목적함수 식 이름) maximize(목적함수 식 이름)

Page 12: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

제약식 입력

•  최적화 문제의 제약식을 입력

결정변수가 선언된 이후- 제약식을 정의 :

결정변수로 된 수식 <= or = or >= 우변상수 결정변수 is_binary (0, 1 제약)

결정변수 is_integer (정수 제약)

Page 13: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

결과 출력

•  출력하고 싶은 정보를 출력창에 띄우도록 명령어 작성

writeln( … ) ▶ 괄호 안의 내용을 출력하고 한 줄 내리는 명령어

괄호 안에 들어가는 주요 명령어

1.  “ “ : 문자를 출력한다. 2.  getobjval : 최적 목적함수 값을 출력한다. 3.  getsol(결정변수 이름) : 특정 결정변수의 최적해를 출력한다. 4.  getsensrng(A,B) : 민감도 분석을 실행한다. ▶ A에는 민감도 분석의 방향을 설정한다. (XPRS_UP, XPRS_DN) ▶ B에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의 목적함수 계수에 대한 민감도 분석 : 제약식을 쓰면, 제약식의 우변상수에 대한 민감도 분석

Page 14: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

결과 출력

writeln( … ) ▶ 괄호 안의 내용을 출력하고 한 줄 내리는 명령어

괄호 안에 들어가는 주요 명령어

1.  “ “ : 문자를 출력한다. 2.  getobjval : 최적 목적함수 값을 출력한다. 3.  getsol(결정변수 이름) : 특정 결정변수의 최적해를 출력한다. 4.  getsensrng(A,B) : 민감도 분석을 실행한다. ▶ A에는 민감도 분석의 방향을 설정한다. (XPRS_UP, XPRS_DN) ▶ B에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의 목적함수 계수에 대한 민감도 분석 : 제약식을 쓰면, 제약식의 우변상수에 대한 민감도 분석

•  출력하고 싶은 정보를 출력창에 띄우도록 명령어 작성

Page 15: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

모델 실행

Compile (F7) ▼

Run (F6)

Page 16: Xpress-MP 튜토리얼 경영과학polytope.snu.ac.kr/courses/ms2015/xpressmp(Kor).pdf · b에는 민감도 분석을 시행할 것을 입력한다. : 결정변수를 쓰면, 결정변수의

모델 실행

Compile (F7) ▶ Run (F6)

최적해를 구함 무한히 발산함