55
Improving branch-and-cut performance by random sampling Matteo Fischetti 1 , Andrea Lodi 2 , Michele Monaci 1 , Domenico Salvagnin 1 , Andrea Tramontani 3 Présentation de l’article : Gauthier Gidel 4 1 DEI, University of Padova, Italy 2 DEI, University of Bologna, Italy 3 CPLEX Optimization, Bologna, Italy 4 DIRO, Université de Montréal. 11 Avril 2017 Slides disponibles sur www.di.ens.fr/~gidel. Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Improving branch-and-cut performance byrandom sampling

Matteo Fischetti1, Andrea Lodi2, Michele Monaci1,Domenico Salvagnin1, Andrea Tramontani3

Présentation de l’article : Gauthier Gidel4

1DEI, University of Padova, Italy 2DEI, University of Bologna, Italy

3CPLEX Optimization, Bologna, Italy 4DIRO, Université de Montréal.

11 Avril 2017

Slides disponibles sur www.di.ens.fr/~gidel.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 2: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Overview

1. Motivations2. Contributions de l’article.3. Variabilités des différents solvers.4. L’algorithme ksample.5. Son implémentation dans Cplex.6. Conclusion.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 3: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Motivations

Expérience avec Cplex sur un même dataset1.Dataset : 10teams Version de Cplex : 11

I Première résolution de l’instance.I Plateforme : LinuxI Temps 0.41 secs. Itérations : 2731. Nœuds : 0

I Seconde résolution de l’instance.I Plateforme : AIXI Temps 41.39 secs. Itérations : 122948. Nœuds : 1426

1Danna Emilie. “Performance variability in mixed integer programing”.In: MIP 2008 workshop in New Work. 2008.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 4: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Motivations

Expérience avec Cplex sur un même dataset1.Dataset : 10teams Version de Cplex : 11

I Première résolution de l’instance.I Plateforme : LinuxI Temps 0.41 secs. Itérations : 2731. Nœuds : 0

I Seconde résolution de l’instance.I Plateforme : AIXI Temps 41.39 secs. Itérations : 122948. Nœuds : 1426

1Danna Emilie. “Performance variability in mixed integer programing”.In: MIP 2008 workshop in New Work. 2008.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 5: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Motivations

Expérience avec Cplex sur un même dataset1.Dataset : 10teams Version de Cplex : 11

I Première résolution de l’instance.I Plateforme : LinuxI Temps 0.41 secs. Itérations : 2731. Nœuds : 0

I Seconde résolution de l’instance.I Plateforme : AIXI Temps 41.39 secs. Itérations : 122948. Nœuds : 1426

1Danna Emilie. “Performance variability in mixed integer programing”.In: MIP 2008 workshop in New Work. 2008.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 6: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Motivations

Même algorithme. Même instance.Facteur 100 pour le temps de résolution.Facteur 50 pour le nombre d’itération.

Pourquoi le même algorithme sur les même donnéesn’effectue pas le même nombre d’itération selon la

plateforme ?

I Choix aléatoires différents sur chaque plateforme.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 7: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Motivations

Même algorithme. Même instance.Facteur 100 pour le temps de résolution.Facteur 50 pour le nombre d’itération.

Pourquoi le même algorithme sur les même donnéesn’effectue pas le même nombre d’itération selon la

plateforme ?

I Choix aléatoires différents sur chaque plateforme.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 8: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Motivations

Même algorithme. Même instance.Facteur 100 pour le temps de résolution.Facteur 50 pour le nombre d’itération.

Pourquoi le même algorithme sur les même donnéesn’effectue pas le même nombre d’itération selon la

plateforme ?

I Choix aléatoires différents sur chaque plateforme.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 9: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Causes de l’aléas dans le B & C

Des cas d’égalité apparaissent :1. Égalité de scores : choix du branchement, choix du nœud

après un retour en arrière,...Règle pour choisir parmi les égalités :

I Choix "aléatoires".I Erreurs d’arrondis influencent ce choix.

2. Coupes : Choix de la variable pour la coupes de Gomory,...

3. Base optimale dégénérée des relaxations LP.

4. Première (à la racine) base optimale dégénérée.

Paramètre "Random seed" non disponible à cette époque :

Changement de plateforme : moyen pour mettre enexergue cette variabilité !

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 10: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Causes de l’aléas dans le B & C

Des cas d’égalité apparaissent :1. Égalité de scores : choix du branchement, choix du nœud

après un retour en arrière,...Règle pour choisir parmi les égalités :

I Choix "aléatoires".I Erreurs d’arrondis influencent ce choix.

2. Coupes : Choix de la variable pour la coupes de Gomory,...

3. Base optimale dégénérée des relaxations LP.

4. Première (à la racine) base optimale dégénérée.

Paramètre "Random seed" non disponible à cette époque :

Changement de plateforme : moyen pour mettre enexergue cette variabilité !

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 11: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Causes de l’aléas dans le B & C

Des cas d’égalité apparaissent :1. Égalité de scores : choix du branchement, choix du nœud

après un retour en arrière,...Règle pour choisir parmi les égalités :

I Choix "aléatoires".I Erreurs d’arrondis influencent ce choix.

2. Coupes : Choix de la variable pour la coupes de Gomory,...

3. Base optimale dégénérée des relaxations LP.

4. Première (à la racine) base optimale dégénérée.

Paramètre "Random seed" non disponible à cette époque :

Changement de plateforme : moyen pour mettre enexergue cette variabilité !

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 12: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Causes de l’aléas dans le B & C

Des cas d’égalité apparaissent :1. Égalité de scores : choix du branchement, choix du nœud

après un retour en arrière,...Règle pour choisir parmi les égalités :

I Choix "aléatoires".I Erreurs d’arrondis influencent ce choix.

2. Coupes : Choix de la variable pour la coupes de Gomory,...

3. Base optimale dégénérée des relaxations LP.

4. Première (à la racine) base optimale dégénérée.

Paramètre "Random seed" non disponible à cette époque :

Changement de plateforme : moyen pour mettre enexergue cette variabilité !

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 13: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Causes de l’aléas dans le B & C

Des cas d’égalité apparaissent :1. Égalité de scores : choix du branchement, choix du nœud

après un retour en arrière,...Règle pour choisir parmi les égalités :

I Choix "aléatoires".I Erreurs d’arrondis influencent ce choix.

2. Coupes : Choix de la variable pour la coupes de Gomory,...

3. Base optimale dégénérée des relaxations LP.

4. Première (à la racine) base optimale dégénérée.

Paramètre "Random seed" non disponible à cette époque :

Changement de plateforme : moyen pour mettre enexergue cette variabilité !

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 14: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Première cause de l’aléas dans le B & C

Dégénérescence :

I Coin dégénéré : solution d’au moins deuxensembles distincts de contraintes d’inégalités.

I Base dégénérée : continent un coin dégénéré.

De manière équivalente :I Base dégénérée : une des variable de base est fixée

à 0 dans la solution de base.

Plupart des programmes linéaires rencontrés en pratique sontdégénérés (dont celui de la racine).

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 15: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Première cause de l’aléas dans le B & C

Dégénérescence :

I Coin dégénéré : solution d’au moins deuxensembles distincts de contraintes d’inégalités.

I Base dégénérée : continent un coin dégénéré.

De manière équivalente :I Base dégénérée : une des variable de base est fixée

à 0 dans la solution de base.

Plupart des programmes linéaires rencontrés en pratique sontdégénérés (dont celui de la racine).

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 16: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Cause de l’aléas dans le B & C

Illustration de la dégénérescence : (x3, x4) et (x2, x3) sont deuxbase optimales possibles.

z x1 x2 x3 x41 3 -2 0 0 -20 -3 -3 1 0 20 -1 2 0 1 0

z x1 x2 x3 x41 3 0 0 1 -20 -3 0 1 2 20 -1 1 0 1/2 0

Conclusion. Dégénérescence : grande cause de variabilité.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 17: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Cause de l’aléas dans le B & C

Illustration de la dégénérescence : (x3, x4) et (x2, x3) sont deuxbase optimales possibles.

z x1 x2 x3 x41 3 -2 0 0 -20 -3 -3 1 0 20 -1 2 0 1 0

z x1 x2 x3 x41 3 0 0 1 -20 -3 0 1 2 20 -1 1 0 1/2 0

Conclusion. Dégénérescence : grande cause de variabilité.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 18: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Contribution

Contributions de l’article :I Étude de la variabilité de performance des différents

solvers. (Cplex, Gurobi et XPRESS)

I Création d’un Algorithme, exploitant cette variabilité :

I Optimise K fois la racine en parallèle.I Utilise une base optimale initiale différente.I Rassemble les informations obtenues par chaque résolution.I Cet algorithme est appelé ksample.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 19: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Contribution

Contributions de l’article :I Étude de la variabilité de performance des différents

solvers. (Cplex, Gurobi et XPRESS)

I Création d’un Algorithme, exploitant cette variabilité :

I Optimise K fois la racine en parallèle.I Utilise une base optimale initiale différente.I Rassemble les informations obtenues par chaque résolution.I Cet algorithme est appelé ksample.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 20: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Contribution

Contributions de l’article :I Étude de la variabilité de performance des différents

solvers. (Cplex, Gurobi et XPRESS)

I Création d’un Algorithme, exploitant cette variabilité :

I Optimise K fois la racine en parallèle.

I Utilise une base optimale initiale différente.I Rassemble les informations obtenues par chaque résolution.I Cet algorithme est appelé ksample.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 21: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Contribution

Contributions de l’article :I Étude de la variabilité de performance des différents

solvers. (Cplex, Gurobi et XPRESS)

I Création d’un Algorithme, exploitant cette variabilité :

I Optimise K fois la racine en parallèle.I Utilise une base optimale initiale différente.

I Rassemble les informations obtenues par chaque résolution.I Cet algorithme est appelé ksample.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 22: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Contribution

Contributions de l’article :I Étude de la variabilité de performance des différents

solvers. (Cplex, Gurobi et XPRESS)

I Création d’un Algorithme, exploitant cette variabilité :

I Optimise K fois la racine en parallèle.I Utilise une base optimale initiale différente.I Rassemble les informations obtenues par chaque résolution.

I Cet algorithme est appelé ksample.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 23: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Contribution

Contributions de l’article :I Étude de la variabilité de performance des différents

solvers. (Cplex, Gurobi et XPRESS)

I Création d’un Algorithme, exploitant cette variabilité :

I Optimise K fois la racine en parallèle.I Utilise une base optimale initiale différente.I Rassemble les informations obtenues par chaque résolution.I Cet algorithme est appelé ksample.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 24: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Étude la variabilité de performance des solversGénération aléatoire : Permutation aléatoire des lignes etdes colonnes du modèle original.

Rapport déviation standard sur moyenne arithmétique :temps nb de nœuds

Variabilité fortement corrélée avec :I Difficulté du problème. I Prétraitement.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 25: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Étude la variabilité de performance des solversGénération aléatoire : Permutation aléatoire des lignes etdes colonnes du modèle original.

Rapport déviation standard sur moyenne arithmétique :temps nb de nœuds

Variabilité fortement corrélée avec :I Difficulté du problème. I Prétraitement.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 26: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Étude la variabilité de performance des solversGénération aléatoire : Permutation aléatoire des lignes etdes colonnes du modèle original.

Rapport déviation standard sur moyenne arithmétique :temps nb de nœuds

Variabilité fortement corrélée avec :I Difficulté du problème. I Prétraitement.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 27: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Technique d’échantillonnage pratique

I Simuler la permutation des lignes et des colonnes.

I Paramètre "random seed" rendu disponible après cet article.

I Introduit un aléa "neutre" n’influençant pas le processusd’optimisation.2

2Danna Emilie. “Performance variability in mixed integer programing”.In: MIP 2008 workshop in New Work. 2008.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 28: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Technique d’échantillonnage pratique

I Simuler la permutation des lignes et des colonnes.

I Paramètre "random seed" rendu disponible après cet article.

I Introduit un aléa "neutre" n’influençant pas le processusd’optimisation.2

2Danna Emilie. “Performance variability in mixed integer programing”.In: MIP 2008 workshop in New Work. 2008.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 29: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Technique d’échantillonnage pratique

I Simuler la permutation des lignes et des colonnes.

I Paramètre "random seed" rendu disponible après cet article.

I Introduit un aléa "neutre" n’influençant pas le processusd’optimisation.2

2Danna Emilie. “Performance variability in mixed integer programing”.In: MIP 2008 workshop in New Work. 2008.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 30: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

L’Algorithme ksample

Entrée : une instance I de MIP.

1. Prétraite l’instance I.2. Calcule les bases optimales de la relaxation LP initiale.3. for i = 1 . . . K − 1:

I Choisit aléatoirement une base optimale Bi de LP.I Exécute les méthodes de coupes à la racine.I Enregistre les coupes Pi et les solutions réalisables Si.

4. Résout I utilisant les ensembles :

S := ∪K−1i=1 Si et P := ∪K−1

i=1 Pi.

Sortie : Une solution optimale de I.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 31: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

L’Algorithme ksample

Entrée : une instance I de MIP.1. Prétraite l’instance I.

2. Calcule les bases optimales de la relaxation LP initiale.3. for i = 1 . . . K − 1:

I Choisit aléatoirement une base optimale Bi de LP.I Exécute les méthodes de coupes à la racine.I Enregistre les coupes Pi et les solutions réalisables Si.

4. Résout I utilisant les ensembles :

S := ∪K−1i=1 Si et P := ∪K−1

i=1 Pi.

Sortie : Une solution optimale de I.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 32: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

L’Algorithme ksample

Entrée : une instance I de MIP.1. Prétraite l’instance I.2. Calcule les bases optimales de la relaxation LP initiale.

3. for i = 1 . . . K − 1:I Choisit aléatoirement une base optimale Bi de LP.I Exécute les méthodes de coupes à la racine.I Enregistre les coupes Pi et les solutions réalisables Si.

4. Résout I utilisant les ensembles :

S := ∪K−1i=1 Si et P := ∪K−1

i=1 Pi.

Sortie : Une solution optimale de I.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 33: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

L’Algorithme ksample

Entrée : une instance I de MIP.1. Prétraite l’instance I.2. Calcule les bases optimales de la relaxation LP initiale.3. for i = 1 . . . K − 1:

I Choisit aléatoirement une base optimale Bi de LP.

I Exécute les méthodes de coupes à la racine.I Enregistre les coupes Pi et les solutions réalisables Si.

4. Résout I utilisant les ensembles :

S := ∪K−1i=1 Si et P := ∪K−1

i=1 Pi.

Sortie : Une solution optimale de I.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 34: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

L’Algorithme ksample

Entrée : une instance I de MIP.1. Prétraite l’instance I.2. Calcule les bases optimales de la relaxation LP initiale.3. for i = 1 . . . K − 1:

I Choisit aléatoirement une base optimale Bi de LP.I Exécute les méthodes de coupes à la racine.

I Enregistre les coupes Pi et les solutions réalisables Si.4. Résout I utilisant les ensembles :

S := ∪K−1i=1 Si et P := ∪K−1

i=1 Pi.

Sortie : Une solution optimale de I.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 35: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

L’Algorithme ksample

Entrée : une instance I de MIP.1. Prétraite l’instance I.2. Calcule les bases optimales de la relaxation LP initiale.3. for i = 1 . . . K − 1:

I Choisit aléatoirement une base optimale Bi de LP.I Exécute les méthodes de coupes à la racine.I Enregistre les coupes Pi et les solutions réalisables Si.

4. Résout I utilisant les ensembles :

S := ∪K−1i=1 Si et P := ∪K−1

i=1 Pi.

Sortie : Une solution optimale de I.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 36: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

L’Algorithme ksample

Entrée : une instance I de MIP.1. Prétraite l’instance I.2. Calcule les bases optimales de la relaxation LP initiale.3. for i = 1 . . . K − 1:

I Choisit aléatoirement une base optimale Bi de LP.I Exécute les méthodes de coupes à la racine.I Enregistre les coupes Pi et les solutions réalisables Si.

4. Résout I utilisant les ensembles :

S := ∪K−1i=1 Si et P := ∪K−1

i=1 Pi.

Sortie : Une solution optimale de I.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 37: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

L’Algorithme ksample

Entrée : une instance I de MIP.1. Prétraite l’instance I.2. Calcule les bases optimales de la relaxation LP initiale.3. for i = 1 . . . K − 1:

I Choisit aléatoirement une base optimale Bi de LP.I Exécute les méthodes de coupes à la racine.I Enregistre les coupes Pi et les solutions réalisables Si.

4. Résout I utilisant les ensembles :

S := ∪K−1i=1 Si et P := ∪K−1

i=1 Pi.

Sortie : Une solution optimale de I.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 38: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Réduire la variabilité en restant compétitif

Avec une grande valeur pour K :I Variabilité des performances plus faible.

I Certaines instances sont résolues à la racines.I Nombre de nœuds produits largement inférieur.I Temps de calculs plus long dû à la synchronisation

nécessaire de toutes les optimisation parallèles.I Impossible pour ksample de paralléliser certain calculs

d’une même optimisation.Un compromis peut être trouvé avec une petite valeur pour K.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 39: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Réduire la variabilité en restant compétitif

Avec une grande valeur pour K :I Variabilité des performances plus faible.I Certaines instances sont résolues à la racines.

I Nombre de nœuds produits largement inférieur.I Temps de calculs plus long dû à la synchronisation

nécessaire de toutes les optimisation parallèles.I Impossible pour ksample de paralléliser certain calculs

d’une même optimisation.Un compromis peut être trouvé avec une petite valeur pour K.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 40: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Réduire la variabilité en restant compétitif

Avec une grande valeur pour K :I Variabilité des performances plus faible.I Certaines instances sont résolues à la racines.I Nombre de nœuds produits largement inférieur.

I Temps de calculs plus long dû à la synchronisationnécessaire de toutes les optimisation parallèles.

I Impossible pour ksample de paralléliser certain calculsd’une même optimisation.

Un compromis peut être trouvé avec une petite valeur pour K.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 41: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Réduire la variabilité en restant compétitif

Avec une grande valeur pour K :I Variabilité des performances plus faible.I Certaines instances sont résolues à la racines.I Nombre de nœuds produits largement inférieur.I Temps de calculs plus long dû à la synchronisation

nécessaire de toutes les optimisation parallèles.

I Impossible pour ksample de paralléliser certain calculsd’une même optimisation.

Un compromis peut être trouvé avec une petite valeur pour K.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 42: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Réduire la variabilité en restant compétitif

Avec une grande valeur pour K :I Variabilité des performances plus faible.I Certaines instances sont résolues à la racines.I Nombre de nœuds produits largement inférieur.I Temps de calculs plus long dû à la synchronisation

nécessaire de toutes les optimisation parallèles.I Impossible pour ksample de paralléliser certain calculs

d’une même optimisation.

Un compromis peut être trouvé avec une petite valeur pour K.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 43: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Réduire la variabilité en restant compétitif

Avec une grande valeur pour K :I Variabilité des performances plus faible.I Certaines instances sont résolues à la racines.I Nombre de nœuds produits largement inférieur.I Temps de calculs plus long dû à la synchronisation

nécessaire de toutes les optimisation parallèles.I Impossible pour ksample de paralléliser certain calculs

d’une même optimisation.Un compromis peut être trouvé avec une petite valeur pour K.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 44: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Résultats concernant la réduction de variabilité

Comparaison à la racine. (cpxdef : Cplex standard)

I 10 répétions de cpxdef et ksample avec K = 10.I Nette amélioration des performances.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 45: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Résultats concernant le gain d’efficacité

Comparaison pour le B&C complet. (cpxdef : Cplex standard)

I Résultats plus mitigés.I Meilleures performance mais beaucoup de variabilité.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 46: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Implementation pour Cplex

I Le choix a été fait de K = 2.

I Permet de limiter le coût général de l’opération.I Permet néanmoins une meilleure exploration des coupes et

des solutions réalisables.I K > 2 donne un moins bon rapport coût/exploration.I Permet de synchroniser facilement les coupes et les

solutions réalisables au cours de l’exploration.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 47: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Implementation pour Cplex

I Le choix a été fait de K = 2.I Permet de limiter le coût général de l’opération.

I Permet néanmoins une meilleure exploration des coupes etdes solutions réalisables.

I K > 2 donne un moins bon rapport coût/exploration.I Permet de synchroniser facilement les coupes et les

solutions réalisables au cours de l’exploration.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 48: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Implementation pour Cplex

I Le choix a été fait de K = 2.I Permet de limiter le coût général de l’opération.I Permet néanmoins une meilleure exploration des coupes et

des solutions réalisables.I K > 2 donne un moins bon rapport coût/exploration.

I Permet de synchroniser facilement les coupes et lessolutions réalisables au cours de l’exploration.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 49: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Implementation pour Cplex

I Le choix a été fait de K = 2.I Permet de limiter le coût général de l’opération.I Permet néanmoins une meilleure exploration des coupes et

des solutions réalisables.I K > 2 donne un moins bon rapport coût/exploration.I Permet de synchroniser facilement les coupes et les

solutions réalisables au cours de l’exploration.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 50: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Résultats

Performances sur IBM ILOG Cplex 12.5.1.

I Tests sur ∼ 3200 problemes.I Limite de temps 10, 000s. Limite de taille pour l’arbre 6GB.

I Time : ratio des moyennes géométriques baisées :

t̄n :=(

n∏k=1

(ti + s))1/n

− s

I Nodes : idem mais pour les nombre de nœuds.I Moyenne géométrique biaisée réduit l’influence des

outliers.3.

3Tobias Achterberg et al. “Constraint Integer Programming: A NewApproach to Integrate CP and MIP”. . In: Integration of AI and ORTechniques in Constraint Programming for Combinatorial OptimizationPrblems. 2008.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 51: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Résultats

Performances sur IBM ILOG Cplex 12.5.1.

I Tests sur ∼ 3200 problemes.I Limite de temps 10, 000s. Limite de taille pour l’arbre 6GB.I Time : ratio des moyennes géométriques baisées :

t̄n :=(

n∏k=1

(ti + s))1/n

− s

I Nodes : idem mais pour les nombre de nœuds.I Moyenne géométrique biaisée réduit l’influence des

outliers.3.3Tobias Achterberg et al. “Constraint Integer Programming: A New

Approach to Integrate CP and MIP”. . In: Integration of AI and ORTechniques in Constraint Programming for Combinatorial OptimizationPrblems. 2008.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 52: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Résultats

Performances sur IBM ILOG Cplex 12.5.1.

I L’ensemble [n, 10k] contient les instances qui ont pris aumoins n secs.

I Affected : modèles ayant menés à des calculs différents.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 53: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Conclusion

I Haute sensibilité aux conditions initiale pour les solverscomme Cplex → grande variabilité dans les résultats.

I La première source de variabilité : dégénérescence de larelaxation continue de la racine.

I Implémentation dans Cplex basée sur deux calculs effectuésen parallèle sur la racine avec des choix aléatoires différents.

I Réduction du temps de calcul et du nombre de nœudsgénérés → par défaut depuis Cplex 12.5.1.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 54: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Conclusion

I Haute sensibilité aux conditions initiale pour les solverscomme Cplex → grande variabilité dans les résultats.

I La première source de variabilité : dégénérescence de larelaxation continue de la racine.

I Implémentation dans Cplex basée sur deux calculs effectuésen parallèle sur la racine avec des choix aléatoires différents.

I Réduction du temps de calcul et du nombre de nœudsgénérés → par défaut depuis Cplex 12.5.1.

Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017

Page 55: Improving branch-and-cut performance by random samplinggidel/slides/MIP2017.pdf · Gauthier Gidel Improving B&C performance by random sampling 11 Avril 2017. Motivations ExpérienceavecCplex

Merci !

Slides disponibles sur www.di.ens.fr/~gidel.