Vous êtes sur la page 1sur 3

Démonstration de l'utilisation du Solver Excel - Trouver une combinaison de somme donnant la valeur cible recherchée

Libellé ligne Base Nombre Combinaison I. Explication du tableau Excel


La plage Base Nombre C5:C13 va servir au calcul
AL11 1.00
BE22 2.00 par le solveur
CE33 -5.00 La plage Combinaison D5:D13 va servir à l'affichage
DE44 10.00 de la solution 1 = Solution ; 0 = Pas dans solution trouvée
EK55 3.00
FE66 0.50 La cellule C15 est la valeur dont il faut retrouver la somme
GA77 -0.50 La formule en C17, va servir à la définition de l'objectif
HE88 1.10 du solver dans l'établissement de son équation
IV99 3.00

Valeur cible 8.10 En somme, rien de bien compliqué ^^

Somme de la
combinaison du 0.00 =SOMMEPROD(C6:C14;D6:D14)
Solver

II. Activation du SOLVER


Le SOLVER est une application tierce limité, qui fait partie des compléments Excel proposé par Microsoft.
Il faut si ce n'est pas déjà fait, activer ce complément.
> Aller dans l'onglet FICHIER > Bouton OPTIONS > Compléments > Dans liste déroulante : Complément Excel > Puis bouton ATTEINDRE
> Ou aller dans l'onglet DEVELOPPPEUR > Bonton Complément

Une fois la fenêtre Macro complémentaire affichée > Cliquer sur Complément SOLVEUR > Puis OK
22

La fonction SOLVEUR se trouvera dans l'onglet Données


11

III. Paramétrage d'une recherche combinatoire d'une valeur cible à partir de variables multiples
Problématique :
Nous avons donc un tableur, dans lequel nous possédons une liste de nombres : Base
Nombre
Ainsi qu'une valeur cible : Valeur cible 8,10
1,00
2,00
-5,00
10,00
3,00
0,50
-0,50
1,10
3,00

Pour laquelle nous allons rechercher quel dispatching peut donner la somme des nombres égale à la valeur cible, à l'aide du Solveur.
Equation : x + y + … = valeur cible
Afin de résoudre cette problématique, nous allons affecter par le solveur à chaque cellule adjacente au cellule nombre, dans la colonne Combinaison, une inconnue dont la
valeur sera 1 si ce nombre fait partie de la solution ou 0 si elle n'en fait pas partie. Et par une formule, en multipliant chaque nombre par la valeur de l'inconnue qui est lui
est affectée puis en additionnant l'ensemble, on obtient une somme égale à la valeur cible. Somme de la
combinaison du 0,00 =SOMMEPROD(C6:C14;D6:D14)
Solver

Mise en œuvre du tableur :


Base La colonne Base Nombre C5:C13 sert à acceuillir les valeurs des inconnues qui seront calculées par le Solver.
Libellé ligne Combinaison
Nombre
AL11 1,00
La colonne Combinaison D5:D13 sert à acceuillir les variables de la solution trouvée, dont la reprise par la formule
BE22 2,00
en cellule C17 donnera si solution ou non si aucune solution, la valeur cible.
CE33 -5,00
DE44 10,00
EK55 3,00
FE66 0,50
GA77 -0,50
HE88 1,10
Nombre
AL11 1,00
BE22 2,00
CE33 -5,00
DE44 10,00
EK55 3,00 La cellule C15 contient la valeur cible dont il faut trouver une combinaison de somme.
FE66 0,50
GA77 -0,50
HE88 1,10
IV99 3,00

Valeur cible 8,10

Somme de la La cellule C17 représente la somme calculée de la valeur cible, elle est obtenue en faisant la somme des produits
combinaison du 0,00 =SOMMEPROD(C6:C14;D6:D14)
de chaque nombres de la colonne Nombre, par la valeur de l'inconnue qui lui correspond (0 ou 1).
Solver
Exemple de ce que donne la formule SOMMEPROD, si vous recherchez une valeur cible de 3,00
1.00 1 1.00 1x1=1
2.00 1 2.00 2x1=2
-5.00 0 0.00 -5x0=0
10.00 0 0.00 10x0=0
3.00 0 0.00 3x0=0
3.00 Somme : 1+2+0+0+0=3,00

Mise en œuvre du Solveur :


Lancer le solver en appuyant sur la touche :
Faisant apparaitre cette fenêtre :

Somme de la
Dans Objectif à définir : nous indiquons la cellule C17, la formule fournira la base necessaire à l'établissement de l'équation. combinaison du 0,00 =SOMMEPROD(C6:C14;D6:D14)
Solver

Et choisir Valeur, en indiquant à la main le nombre de la valeur cible, ainsi l'objectif devra répondre
à la résolution pouvant donner cette valeur (8,10).
Valeur cible 8,10

Dans la partie : Cellules variables, indiquer la plage de la colonne Combinaison


D5:D13

Afin de faire fonctionner la formule SOMMEPROD, dont les solutions doivent


apparaitre sous forme de 1 ou 0, soit sous forme binaire.
Nous définissons des contraintes, > Faire ajouter > Sélectionner la plage
de la colonne Combinaison D5:D13 > Choisir bin > Ok

Ensuite s'agissant d'une équation linéaire simple, nous choisissons la méthode de résolution : SIMPLEX PL
Puis si vous le désirez nous pouvons voir les options de cette méthode.

Vous disposez d'un certain nombre d'options, dans la résolution de ce type d'équation définir le temps maxi
est très utile, afin d'éviter d'avoir à attendre un temps x que le solveur trouve sa solution.
Le temps est définit en seconde, soit 120 => attente maxi de 2 minutes, le maximum est 7000

Final La boite de dialogue doit donner ceci =>> Appuyer sur RESOUDRE

Ce fichier comportant des images


la recherche pourra prendre 5/10
grosses secondes, dans un
fichier plus léger, la recherche
sera plus rapide.
Une fois terminé, cette boite de dialogue s'affiche, vous permettant, de conserver la solution, de rétablir les valeurs précédant la recherche, ainsi que de retourner
dans le solver.

Ce qui peut donner ceci, si vous cherchez ceci :


Base Ainsi la solution pouvant
Libellé ligne Combinaison
Nombre donner la somme de la
AL11 1,00 1
valeur cible : 8,10.
BE22 2,00 0
CE33 -5,00 0 Est la combinaison de la
DE44 10,00 0 somme des nombres :
EK55 3,00 1 1,00 + 3,00 + 1,10 + 3,00
FE66 0,50 0
GA77 -0,50 0
HE88 1,10 1
IV99 3,00 1

Valeur cible 8,10

Somme de la
combinaison du 8,10 =SOMMEPROD(C6:C14;D6:D14)
Solver

Liens pouvant vous apportez plus de détails sur le fonctionnement du solveur :

Site de l'éditeur du Solver Frontline Systems, Inc. : http://www.solver.com

Article de Microsoft présentant le solver


Définir et résoudre un problème à l’aide du Solveur :
https://support.office.com/fr-fr/article/D%C3%A9finir-et-r%C3%A9soudre-un-probl%C3%A8me-%C3%A0-l-aide-du-Solv

Article très détaillé, de Jean-Philippe ANDRÉ sur le


fonctionnement du solver, son utilisation avec VBA, …
article très utile : http://jpcheck.developpez.com/tutoriels/excel/utilisation-solveur-sous-excel/