주메뉴 바로가기 본문 바로가기 하단 바로가기

고객지원

기술문의

[질문] 변수 사이즈가 클 때, Error 메세지

  • 김동근
  • 2008.10.15
  • 조회수 1,698
IP 문제를 CPLEX 10.1을 통해 풀고 있습니다.

변수 사이즈가 작을 때는 잘 풀다가, 변수 사이즈가 커지니,

영어로 뉴 CPLEX nonzero 메세지만 뜨고,
문제를 풀지 못 합니다.

의미하는 바가 뭔지 모르겠네요.
그냥 일종의 메모리 부족현상으로 이해하는 되는건지요?

댓글 4

  • 유환주2008-10-15
    일단은 메모리 부족으로 보입니다.
    정확한 시도를 위해서 몇가지 추가 정보가 필요합니다.

    플랫폼은 무었입니까? (PC Windows/UNIX/Linux)
    LP/MPS 파일로 만들었나요? Concert로 코딩 했나요?
    아이콘삭제
  • 김동근2008-10-15
    PC Windows에서, lp 파일로 만들었으며,
    C#에서 Concert를 이용하였습니다.
    아이콘삭제
  • 유환주2008-10-15

    PC에서는 일단 제한이 많이 있습니다.
    cplex interactive solver로 테스트 해 보시기 바랍니다.

    Windows Command 창에서 cplex를 실행해서 아래의 순서로 실행해 보세요.
    1.read <나의모델파일>
    2.set emphasis memory y
    3.opt

    그래도 결과를 얻지 못하면 아래를 참조하세요.

    문제 Size(변수 갯수)가 매우 큰 프로젝트에서
    현상: CPLEX 풀이시 또는 extract시 "out of memory" or CPLEX가 nonzero변수를 더이상 추가 하지 못한다는 에러 발생.
    원인: CPLEX 풀이 또는 extract시 사용되는 메모리 부족.
    1) Microsoft Windows NT 기반 OS는 4GB의 가상주소 공간을 제공한다고 합니다. 그중 2GB는 애플리케이션이, 나머지 2GB는 시스템만 이용 가능합니다.
    2) 기본적으로 windows는 최대 application에 2G의 메모리만 할당 가능 합니다.
    3) 메모리를 늘려도 2)번 사항때문에 마찬가지 현상일거라 예상됨

    방안: 애플리케이션 사용 가능 메모리를 3G 까지 늘리는 방법을 사용 (애플리케이션이 쓸수 있는 메모리를 3GB까지 늘리고 시스템이 쓸수 있는 메모리양을 1~2GB 사이로 줄이는 기능)
    1) 적용 가능 OS: Windows XP/Vista
    2) 적용 방법: C 폴더의 System 파일중 boot.ini 파일에 /3GB를 추가(재부팅)
    아이콘삭제
  • 김동근2008-10-15
    친절한 답변 감사합니다.

    많은 도움이 되었습니다.

    감사합니다.
    아이콘삭제

댓글 입력