Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 01-11-2009 22:52:43

ata_math
Invité

[Maple] Résolution de systèmes d'équations

'ai écrit ce programme en Maple, il donne le résultat ci dessous pour N=2 , mais pour les N>4 le programme ne répond pas à cause peut être des calcules est ce qu'il y a une méthode pour minimiser le temps d'exécution ou pour se débarrasser des termes "min"
Cordialement.
> # W[.,.] est la fonction coût actualisé à l"horizon infini
> restart;
> with(LinearAlgebra):
> N:=2;alpha:=0.8;lambda1:=8;lambda2:=5;mu1:=25;mu2:=30;xi1:=1;xi2:=2;c1:=3;c2:=5;
> eqns:={W[0,0]=alpha*(mu1*W[0,0]+mu2*W[0,0]+lambda1*W[1,0]+lambda2*W[0,1])}:
> for x1 from 1 to N-1 do eqns:=eqns union {
> W[x1,0]=x1*c1+alpha*(mu1*W[x1-1,0]+lambda1*min(W[x1+1,0],W[x1,0]+xi1)+lambda2*W[x1,1]), W[x1,N]=x1*c1+N*c2+alpha*(mu1*W[x1-1,N]+lambda1*min(W[x1+1,N],W[x1,N]+xi1)+lambda2*(W[x1,N]+xi2))};
> od:
> eqns:=eqns union {W[N,0]=N*c1+alpha*(mu1*W[N-1,0]+lambda1*(W[N,0]+xi1)+lambda2*W[N,1]),
> W[0,N]=N*c2+alpha*(mu1*W[0,N]+mu2*W[0,N-1]+lambda1*W[1,N]+lambda2*(W[0,N]+xi2)),
> W[N,N]=(c1+c2)*N+alpha*(mu1*W[N-1,N]+lambda1*(W[N,N]+xi1)+lambda2*(W[N,N]+xi2))}:
> for x2 from 1 to N-1 do
> eqns:=eqns union {
> W[0,x2]=x2*c2+alpha*(mu1*W[0,x2]+mu2*W[0,x2-1]+lambda1*W[1,x2]+lambda2*min(W[0, x2+1],W[0,x2]+xi2)),
> W[N,x2]=N*c1+x2*c2+alpha*(mu1*W[N-1,x2]+lambda1*(W[N,x2]+xi1)+lambda2*min(W[N, x2+1],W[N,x2]+xi2))};
> od:
> for x1 from 1 to N-1 do
> for x2 from 1 to N-1 do
> eqns:=eqns union { W[x1,x2]=x1*c1+x2*c2+alpha*(mu1*W[x1-1,x2]+lambda1*min(W[x1+1,x2],W[x1,x2]+xi1)+lambda2*min(W[x1, x2+1],W[x1,x2]+xi2))};
> od;
> od:
> eqns:=eqns;
> nops(eqns);
> evalf(solve(eqns),3);
N := 2
alpha := 0.8
lambda1 := 8
lambda2 := 5
mu1 := 25
mu2 := 30
xi1 := 1
xi2 := 2
c1 := 3
c2 := 5
eqns := { W[1, 2] = 21.0 + 20.0 W[0, 2] + 6.4 min(W[2, 2], W[1, 2] + 1) + 4.0 W[1, 2], W[0, 0] = 44.0 W[0, 0] + 6.4 W[1, 0] + 4.0 W[0, 1],
W[1, 0] = 3 + 20.0 W[0, 0] + 6.4 min(W[2, 0], W[1, 0] + 1) + 4.0 W[1, 1],
W[2, 0] = 12.4 + 20.0 W[1, 0] + 6.4 W[2, 0] + 4.0 W[2, 1],
W[0, 2] = 18.0 + 24.0 W[0, 2] + 24.0 W[0, 1] + 6.4 W[1, 2],
W[2, 2] = 30.4 + 20.0 W[1, 2] + 10.4 W[2, 2],
W[2, 1] = 17.4 + 20.0 W[1, 1] + 6.4 W[2, 1] + 4.0 min(W[2, 2], W[2, 1] + 2), W[1, 1] = 8 + 20.0 W[0, 1] + 6.4 min(W[2, 1], W[1, 1] + 1)+ 4.0 min(W[1, 2], W[1, 1] + 2), W[0, 1] = 5 + 20.0 W[0, 1] + 24.0 W[0, 0]
+ 6.4 W[1, 1] + 4.0 min(W[0, 2], W[0, 1] + 2)}
9
{W[1, 0] = -0.398, W[1, 2] = -0.807, W[2, 1] = -0.472, W[0, 1] = -0.109,
W[1, 1] = -0.439, W[0, 0] = 0.0694, W[2, 2] = -1.52, W[2, 0] = -0.473,
W[0, 2] = -0.444}, {W[2, 1] = 0.228, W[2, 0] = -0.0228, W[1, 0] = -0.659,
W[0, 2] = -0.233, W[1, 2] = -2.42, W[0, 0] = 0.0871, W[0, 1] = 0.119,
W[2, 2] = 1.91, W[1, 1] = -1.31}, {W[1, 2] = -2.21, W[2, 1] = 1.63,
W[0, 0] = 0.151, W[0, 1] = 0.156, W[2, 0] = 0.614, W[2, 2] = 1.48,
W[1, 1] = -1.60, W[0, 2] = -0.329, W[1, 0] = -1.11}, {W[2, 2] = -2.11,
W[2, 0] = 4.80, W[1, 2] = -0.526, W[0, 2] = -0.295, W[0, 0] = 0.384,
W[1, 0] = -2.37, W[1, 1] = -1.06, W[0, 1] = -0.327, W[2, 1] = 2.29}

#2 01-11-2009 23:27:29

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 989

Re : [Maple] Résolution de systèmes d'équations

Bonsoir,
(ça ne dérange personne...)

Je ne connais pas Maple, mais je veux bien essayer de comprendre...
Tu veux pouvoir résoudre un système de n équations à n inconnues pour n supérieur ou égal à 2 ?
Tu veux pouvoir prendre n =35, des coeff des inconnues au hasard, et trouver 35-uplet solution, s'il existe ?

1. Si tu veux que je comprenne si tu explicitais ton programme en le réécrivant en pseudo-code, qu'on voie un peu ce qui cloche...
2. Et pour un système de cramer ? (3 eq et 3 inconnues) il marche ?

3. Pour n> 4, le prg ne répond pas as-tu écrit. tu es sans réponse au bout de : 10 min ? 1/2 h ? 2 h ? D'autre part cela signifie-t-il qu'il tourne en rond ou qu'il est planté ? ou qu'il s'arrête brusquement avec un message d'erreur.
Merci

Mon compère modo Galdinx, lui a fait du Maple, mais étudiant en info, il n'aura peut-être pas le temps d'étudier ton truc.
Peut-être pourra-t-il te conseiller de façn généraliste...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
trente plus quatre-vingt cinq
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums