<복습: Maximization Problem>
Standard Bag과 Deluxe Bag의 Maximization Profit을 구하는 문제이다.
식은 다음과 같다.
위의 Constraint를 모두 만족하는 Feasible Region을 구하면 이 영역은 모두 Feasible Solution에 해당한다. 여기서 최대치가 되는 Optimal Solution을 구해야하는데, Linear Program 에서 Optimal Solution이 꼭짓점만 존재하는 것은 아니지만 꼭짓점에는 Optimal Solution이 발견되기에 아래의 1번~5번까지의 꼭짓점을 확인하면 된다.
Standard Form이라는 것은 제약조건식의 부등호를 등식을 만든 것으로, 이 문제에서는 Slack Variables을 도입해서 0을 만든 다음과 같다. 목적함수식의 계수는 일반적으로는 다음과 같이 0이 되나 (10S + 9D +0S1 +0S2 +0S3 +0S4) 하지만 영향을 미치는 경우 0이 되지 않을 수도 있으므로 항상 0이 되는 것은 아니다.
<시작>
MS60을 '관리자 권한으로 실행'을 한 후 다음과 같은 화면에서 LP를 선택 (첫 실행 이후 '관리자 권한으로 실행'으로 실행을 하지 않아도 실행이 가능하다.)
File 에서 새롭게 실행 시킬 것이기에 New를 선택
결정변수 2개, 제약 조건이 4개였기에 다음과 같이 입력하고, Maximaze Problem 이였기에 Maximize를 클릭하고 OK를 클릭
이후 문제에서 결정변수는 S와 D이므로 X1과 X2를 S와 D로 변수를 변경하고 각각에 맞는 계수를 입력한다.
이후 Constraints를 역시 입력해준다. 하지만 여기서 주의할 점은 분수는 들어갈 수 없기에 계수가 분수일 경우, 소수로 변환에서 넣어줘야만 한다. 또한 MS60은 입력된 값 중 가장 아래있는 소수점까지 나머지 변수들 역시 나타나며, < 와 > 의 경우, ≤ 과 ≥으로 인식된다.
이후 Solution의 Solve를 클릭한다.
나타나는 결과는 다음과 같다.
이후 File에서 Save Problem을 통해 파일명을 지정한 후, MS60에서 사용가능한 LPM 확장자의 파일을 저장할 수 있게 된다.
또한 Solution에서 Save As Text File을 통해 파일명을 지정한 후, OUT 확장자 파일 형태로 저장이 가능하다. 이는 메모장, Word 등의 프로그램으로 열 수 있다.
Edit 에는 다양한 기능이 존재한다.
Add Constraints - 제약조건 추가
Delete Constraint - 제약조건 제거
Add Variables - 변수 추가
Delete Variable -변수 제거
Change Optimalzation Type - Maximize, Minimize 변경
<Minimization Problem>
Cost가 최소가 되도록 구해야 한다.
결정변수
-A를 하나 만드는데 $2, B를 하나 만드는데 $3가 소모 -> 2A + 3B
제약 조건
-A는 125 gallons 이상을 만들어야함
-A와 B는 합쳐서 350 gallon 이상을 만들어야함
-A는 하나 만드는데 2시간이 들어가고 B는 하나 만드는데 1시간이 들어가며, 총 합쳐서 600시간 이하가 되어야 함
다음 제약조건의 그래프를 모두 그리면 다음과 같다.
Feasible Region은 모든 제약조건을 만족하는 곳으로
1A ≥125 -> A에 0을 넣으면 이는 해당하지 않으므로 125 이상인 구간
1A+1B ≥ 350 -> A와 B에 0을 넣으면 이는 해당하지 않으므로 350 이상인 구간
2A+1B ≤ 600 -> A와 B에 0을 넣으면 이는 해당하므로 600 이하인 구간
다음 세 구간을 만족하는 Feasible Region은 다음과 같다.
목적함수식을 통해 Z=2A+3B 를 B = -2/3A + Z/3 로 변형 시킴으로써 이를 통해 Minimization을 구하는 문제이므로, 절편(Z: 최솟값)이 될때 가장 작은 값을 가지는 것을 알 수 있다.
첫댓글 한꺼번에 몰아서 하지 말고 꾸준히 차분히 해 나가라