아주 오랫만에 올리는 연구 관련 포스트입니다. 오늘은 최적화 관련 연구를 수행하는 분이라면 한 번쯤 이름을 들어봤을 GAMS 1 Out of Memory 관련 팁을 공개할까 합니다.
Out of Memory는 GAMS를 이용해 MIP(Mixed Integer Programming) 문제를 풀 때, 종종 발생하는 문제인데요...
말 그대로 가용 메모리가 부족할 때 발생하는 메세지입니다.
제 경우 변수가 많은 문제를 풀다보니 종종 Out of Memory 문제에 부딪히곤 했는데, 오늘 이 문제를 속시원히 풀수 있는 방법을 발견했습니다.
간단히 요약해보자면 다음과 같습니다.
해법의 원문 주소는 아래와 같습니다. 참고하세요~
http://support.gams-software.com/doku.php?id=solver:error_1001_out_of_memory
그런데, 과연 이 팁이 필요한 사람이 있을까 :)
짤방은 미국에서 본 신기한 저울입니다. 과연 뭐가 신기한 걸까요? ^^;
Out of Memory는 GAMS를 이용해 MIP(Mixed Integer Programming) 문제를 풀 때, 종종 발생하는 문제인데요...
말 그대로 가용 메모리가 부족할 때 발생하는 메세지입니다.
제 경우 변수가 많은 문제를 풀다보니 종종 Out of Memory 문제에 부딪히곤 했는데, 오늘 이 문제를 속시원히 풀수 있는 방법을 발견했습니다.
간단히 요약해보자면 다음과 같습니다.
- 컴퓨터의 물리적 메모리 추가 : 제 경우 이미 4G의 메모리를 사용중이라 해당사항이 없네요...
- 32bit 운영체제로 전환 : 이건 기회비용이 너무 큰 옵션이구요...
- 모델에서 꼭 필요한 수식만 생성 : 이건 코딩 단계에서 점검해야 할 문제인데... 대부분의 경우 해당사항이 없다고 볼 수 있으므로 다시 패스!
- GAMS option 추가 : 이게 문제 해결에 주요한 열쇄였습니다.
- model_name.holdfixed = 1;
- model_name.dictfile = 0;
- Cplex option 추가 : 이건 저도 적용해보지는 않았는데, GAMS option으로 안될 경우에 유용할 것 같네요...
- Do not load GAMS names (names no) 2
- Do not use multiple threads (threads 1)
- Conserve memory where possible (memoryemphasis 1)
- Use the Simplex algorithm (lpmethod 1 or 2) instead of the Barrier algorithm (lpmethod 4)
- Increase the refactorization frequency (decrease reinv)
- (MIP) Let Cplex store information on disk 3(nodefileind 2 or 3 / workmem)
- (MIP) Do not solve the final LP (solvefinal 0). Please keep in mind that without solving the final LP, the solution will be primal only - no marginals will be reported.
- (MIP) Set option nodesel to use a best estimate strategy (nodesel 2) or more drastically a depth-first-search (nodesel 0).
- (MIP) Set option varsel to use strong branching (varsel 3).
- (MIP) Turn off cut generation (cuts -1).
- (Barrier) Do not do a crossover at the end of the barrier optimization (barcrossalg -1). In that case the solution will also be primal only - no marginals will be reported.
해법의 원문 주소는 아래와 같습니다. 참고하세요~
http://support.gams-software.com/doku.php?id=solver:error_1001_out_of_memory
그런데, 과연 이 팁이 필요한 사람이 있을까 :)
짤방은 미국에서 본 신기한 저울입니다. 과연 뭐가 신기한 걸까요? ^^;
'Research > EIP' 카테고리의 다른 글
스팀의 종류와 정의 (1) | 2009.06.30 |
---|---|
열량(kJ) - 동력(kWh) 환산 (1) | 2008.08.26 |
[리뷰] 유틸리티 시스템의 최적운용 (1) (0) | 2008.08.26 |
집단에너지 시설 (열병합 발전) (0) | 2007.01.16 |
열역학 법칙 (0) | 2007.01.08 |