2017-10-12 1 views
1

뭔가 배우고 싶습니다. 누구든지 다음 표현의 의미를 말해 줄 수 있습니까?Google 최적화 도구를 사용하여 특별 솔버 정의

from ortools.linear_solver import pywraplp 

def main(): 

solver=pywraplp.Solver('TravellingSalesmanProblemMIP', pywraplp.Solver.CBC_MIXED_INTEGER_PROGRAMMING) 

이것은 솔버를 만드는 데 사용됩니다. 언제 사용됩니까? 그리고 CPLEX로 파이썬 모델을 풀면 cplex에 대한이 표현의 특별한 대응이 있습니까? 인터넷에서이 줄을 여러 번 보았습니다. 나는 단지 배우고 싶다.

감사합니다.

답변

0

정확하게 추측했습니다. 그러면 name이 'TravellingSalesmanProblemMIP'이고 이 CBC_MIXED_INTEGER_PROGRAMMINGSolver 클래스의 인스턴스가 만들어집니다. 문제를 해결하려면 Solver의 인스턴스를 만들어야합니다. CBC 대신 CPLEX를 사용하려면 CBC_MIXED_INTEGER_PROGRAMMINGCPLEX_MIXED_INTEGER_PROGRAMMING으로 대체하십시오. 이 프로젝트의 문서는 here이고 소스 코드 (git repo)는 here입니다. 많은 파이썬 예제가 있습니다 here.

이 프로젝트는 C++로 작성되었으며 파이썬 래퍼는 자동으로 생성됩니다. 파이썬 관련 문서가 부족한 것 같습니다. 대답을 찾으려면 소스 코드를 연구해야 할 것입니다. 그 소리가 협박하는 경우, 다른 것을 사용하고 싶을 수 있습니다.

+0

이 포괄적 인 답변을 주셔서 감사합니다. 그리고 여러분은 매우 정확하게 파이썬 관련 문서가 꽤 부족하고이 경우에 대해 몇 가지 어려움이 있습니다. –