2016-10-25 2 views
0

Je voudrais indexer les contraintes dans le fichier lp CPLEX comme ci-dessous:Comment indexer les contraintes en python avec de la pâte

_20160421_LHRSINBA0011_Cap#0: X_20160421_LHRSIN00001_50454 <= 234.5 
_20160421_LHRSINBA0015_Cap#1: X_20160421_LHRSIN00002_50464 + X_20160421_LHRSYD00001_60314 <= 114.5 

Mais je ne sais pas comment le faire avec de la pâte.

+1

Que voulez-vous dire exactement par "index the constraints"? Obtenir les indices des contraintes avec ces noms? – rkersh

Répondre

0

Si par l'indexation que vous voulez dire changer le nom de chacune des contraintes afin que vous puissiez les récupérer facilement alors il est simple:

problem += X_20160421_LHRSIN00001_50454 <= 234.5, "_20160421_LHRSINBA0011_Cap#0" 
problem += X_20160421_LHRSIN00002_50464 + X_20160421_LHRSYD00001_60314 <= 114.5, "_20160421_LHRSINBA0015_Cap#1" 

Puis, quand vous êtes à la recherche d'une contrainte particulière, vous pouvez utiliser:

[constraint for (c_name, constraint) in problem.constraints.items() if "_Cap#1" in c_name]