문제점에 대해 충분히 빠른 오픈 소스 lp 솔버를 찾으려고합니다. NEOS 서버에 제출하고 다른 해결사의 성능을 비교할 수 있도록 MPS 파일을 작성하려고합니다.NEOS 서버에 제출할 간단한 MPS 파일을 작성하는 방법
내 문제는 가장 어려운 경우에 약 150 개의 정수 변수가 포함되지만 MPS 파일 형식의 작동 방식을 파악하는 데 도움이되는 간단한 사례부터 시작합니다.
이
문제입니다 :minimize : 330.3 * M1 + 1132.88 * M2 + 955.86 * M3
subject to:
20 <= 60 * M2 <= 20.9
20 <= 34 * M3 <= 20.9
M1 + M2 + M3 = 1
나는 다음 MPS 파일 썼다, 단지 Gurobi 그것을 해결할 수 NEOS (https://neos-server.org/neos/solvers/index.html)에서 사용할 수있는 선형 솔버를 사용
NAME problema1
ROWS
L K
L N
E ONE
N CUSTO
COLUMNS
M1 ONE 1 CUSTO 330.3
M2 K 60
M2 ONE 1 CUSTO 1132.88
M3 N 34
M3 ONE 1 CUSTO 955.86
RHS
KLESS K 20.9
NLESS N 20.9
ONEREST ONE 1
RANGES
RANGE1 K 0.9
RANGE2 N 0.9
ENDATA
합니다. 다른 사람들은 문제가 실행 불가능하다는 것을 안다.
저는 이것이 내 MPS 파일에 문제가 있다고 확신하지만, 그것이 무엇인지 파악할 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
배경을 추가 할 수 있습니다. MIP 문제에 대한 오픈 소스 솔버만을 찾고 있다면 코인 CBC, GLPK 및 lpsolve (이 순서대로)를 자유 소프트웨어 및 SCIP (오픈 소스이지만 비 자유형, 심지어 CBC를이기는). 참고 : 오픈 소스와 상용 솔루션 (예 : Gurobi, CPLEX, Mosek)에는 큰 차이가 있습니다. 또한 [해당 벤치 마크] (http://plato.asu.edu/ftp/milpc.html)를 확인하십시오. 이러한 모든 벤치 마크 작업을 정말로 원한다면 표준화 된 MPS 파일 (GLPK가 아마도 최고의 문서를 가지고있을 수 있습니다)을 생성하는 데 그 중 하나를 사용하십시오. – sascha
일부 해결사의 경우 NEOS는 .mp보다 사람이 읽을 수있는 .lp 형식도 허용합니다. –
당신의 기여에 감사드립니다 @ sascha 오픈 소스와 상용 솔루션 사이의 차이에 대해 알고 있습니다. 그러나 많은 경우 사용자에게 솔루션을 확장해야하는 경우 상용 솔루션이 매우 비쌉니다. 내 문제의 크기에 대해, 당신이 인용 한 것과 같은 오픈 소스 솔버가 트릭을 할 수 있다고 생각합니다. –