Enigme sur les âges (c)
Nous rappelons les équations pour
formuler notre problème :
Nous lançons le solveur et, en un rien de temps, nous trouvons la solution : Jean a 3 ans, Anne a 8 ans et Paul a 15 ans !
(1) Jean + 10 = 2 (Anne - r)
(2) Paul - r = 9 (Jean - r)
(3) Paul - 8 = 0,5 (Anne + p)
(4) Anne +
p = Jean + 1 + q
(5) Paul +
q = 5 (Jean + 2)
(6) Paul + k = 3 (Paul - Anne)
(7) Anne
- l = (1/3) * (Jean + k)
(8) Paul
+ m = Paul - l + 10
(9) Anne
- n = 0,5 (Jean + m)
(10) Anne + o = 3 (Paul - n - 6)
(11) Paul - (Jean - 1) = Jean + o + 3
Voilà ce que cela donne dans
Excel :
Il ne reste plus qu’à énoncer le
problème dans le solveur.
En fait, il n’y a rien à optimiser.
Tout ce que nous voulons, c’est nous assurer que toutes les valeurs de la
colonne N soient nulles. Nous avons donc tout simplement mis comme objectif que
N3 soit nul, et spécifié comme contrainte que les valeurs de la colonne N
soient toutes nulles.
Nous lançons le solveur et, en un rien de temps, nous trouvons la solution : Jean a 3 ans, Anne a 8 ans et Paul a 15 ans !
Astuce – Dans la formulation du problème, nous nous
sommes bien gardés de demander à Excel que les constantes soient toutes
entières. Heureusement car, dans la solution finale, une des constantes n’est
pas entière !
2 Commentaire(s):
Bonjour,
Je reprends ma technique exprimée dans le commentaire du post (b) :
J'ai réécrit les 11 propositions sous forme algébrique classique :
(1) 2A-J-2r=10
(2) P-9J+8r=0
(3) P-0,5A-0,5P=8
(4) A-J+p-q=1
(5) P-5J+q=10
(6) 2P-3A-k=0
(7) A-0,333J-l-0,333k=0
(8) m+l=10 l'erreur était là, j'avais écrit m+l=0... mea culpa
(9) A-0,5J-0,5m-n=0
(10) A-3P+3n+o=-18
(11) P-2J-o=2
On arrive à un système linéaire de 11 équations à 11 inconnues qu'on écrit sous forme matricielle :
[A].[X]=[B], [A] est la matrice 11x11 des coefficients des variables et [B] la matrice colonne des seconds membres des égalités (ici : 10,0,8,1,10,0,0,0,0,-18,2).
La solution est donc [X]=[inv A].[B].
Dans mon implantation Excel, [A] est dans la plage de cellules A2:K12 et [B] dans N2:N12.
Le résultat est obtenu dans une plage de cellules d'une colonne et de 12 lignes contenant la formule matricielle (au sens Excel) suivante :
=PRODUITMAT(INVERSEMAT(A2:K12);N2:N12)
Le résultat obtenu est en effet : Anne 8 ans, Jean 3 ans et Paul 15 ans.
By cduigou, sur 12:16 AM
Rectificatif :
...la matrice colonne des seconds membres des égalités (ici : 10,0,8,1,10,0,0,10,0,-18,2).
On va y arriver !!!
By cduigou, sur 12:19 AM
Enregistrer un commentaire
<< Accueil