안녕하세요 ^^ 2주차 수업을 듣고 복습해보았습니다
*Types of Integer Programming Models
1) all-integer linear program (ILP)
2)LP Relaxation -> 의사결정 변수에 정수라는 제한 없앤것
3)mixed-integer linear program
4)0-1 or binary integer linear program
*프린트 예시 정리
-의사결정변수 T , A (2가지)
-목적함수 10T+15A (이익최대화)
-제약조건 (3가지)
282T+400A<=2000 (예산)
4T+40A<=140 (관리시간)
T<=5 (T의 최대 구매 개수)
*LP Relaxation 방법으로 직접 구해보기
제약조건의 식을 이용해 T 와 A를 구해보았습니다
40A=140-4T 식을 T=35-10A 로 간단하게 바꾼 다음,
이 식을 200A=1000-141T 식의 T 자리에 대입한 결과 A는 3.252 , T는 2.479 라는 것을 알 수 있었습니다
따라서 10T+15A 식에 각각 T와 A 값을 대입하면 최대 73,574 달러의 이익을 얻을 수 있다는 것을 알 수 있습니다
*rounding 해보기 / Optimal Integer Solution 구하기
하지만 T와 A의 값이 소수 단위로 나온다고 해서 임의로 rounding 해서는 안됩니다
실제로 정수값을 임의로 반올림했을 때의 결과는 제약조건에 맞지 않았습니다
ILP 방법으로 최적의 결과값을 구해보니 최대 70,000 달러의 이익을 얻을 수 있다는 것을 확인할 수 있었습니다
*MS60 프로그램 활용
1. LP Relaxation
의사결정변수 2개 , 제약조건개수 3개 , MAX 를 알맞게 입력합니다
변수의 이름과 목적함수계수 , 제약조건을 알맞게 입력합니다
이 때 부등호는 '작거나 같다' 는 작다, '크거나 같다' 는 크다 라고 입력해도 무관하다고 합니다
위에서 정리한 것과 같은 결과가 훨씬 간단하게 구해졌습니다
2. ILP
다음으로 ILP 방법을 적용해보았습니다
입력사항은 앞과 동일하고 T와 A가 정수여야 하므로 알맞게 선택해줍니다
앞에 구했던 최적의 결과값을 훨씬 간단하게 구할 수 있었습니다
-MS60 결과는 텍스트 문서로 첨부했습니다
*LP Relaxation 과 Integer Linear Program 비교
LP 는 정수라는 제약조건이 제거되었으므로 선택의 폭이 확장된 방법입니다 .
따라서 목적달성에 유리할 가능성이 있습니다.
ILP 는 정수라는 제약조건이 추가된 것이므로 선택의 폭이 줄어든 것입니다.
따라서 목적달성에 불리할 가능성이 있습니다.
그리고 최적해를 구할 때 Max 값을 구할 경우 위의 예시를 보면 알 수 있듯 LP Relaxation 이 upper bound를 제공합니다.
반대로 Min 값을 구할 경우에는 LP Relaxation 이 lower bound를 제공합니다.
감사합니다 :)
LP.OUT
ILP.OUT
첫댓글 정리 너무 잘하셨네요~~!!
와우~
이쁘당! :)