2017-10-12 3 views
1

Je souhaite apprendre quelque chose. Quelqu'un peut-il me dire la signification de l'expression suivante:Définition de résolution spéciale à l'aide des outils d'optimisation Google

from ortools.linear_solver import pywraplp 

def main(): 

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

Il est utilisé pour créer un solveur, je suppose. Quand est-il utilisé? Et, si nous résolvons notre modèle python avec CPLEX, existe-t-il une correspondance spéciale de cette expression pour cplex? Je suis tombé sur ces lignes plusieurs fois sur internet; Je veux juste apprendre.

Merci

Répondre

0

Vous avez deviné correctement. Cela crée une instance de la classe Solver avec un name de « TravellingSalesmanProblemMIP » et un de CBC_MIXED_INTEGER_PROGRAMMING. Vous devez créer une instance de Solver pour résoudre un problème. Si vous souhaitez utiliser CPLEX au lieu de CBC, vous devez remplacer CBC_MIXED_INTEGER_PROGRAMMING par CPLEX_MIXED_INTEGER_PROGRAMMING. La documentation de ce projet est here et le code source (repo git) est here. Il existe de nombreux exemples Python here.

Ce projet semble être écrit en C++ et l'encapsuleur Python est généré automatiquement à partir de cela. La documentation spécifique à Python semble manquer. Vous devrez probablement étudier le code source pour trouver des réponses. Si cela semble intimidant, vous voudrez peut-être utiliser autre chose.

+0

Merci pour cette réponse complète et vous êtes python très bonne documentation spécifique est assez rare et j'ai quelques difficultés au sujet de cette affaire. –