Monsieur Excel
Pour tout savoir faire sur Excel !

04 février 2020

Enigme sur les âges (c)

Nous rappelons les équations pour formuler notre problème :

(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 Anonymous 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 Anonymous cduigou, sur 12:19 AM  

Enregistrer un commentaire

<< Accueil