SIMPLEX PRIMAL

lilosse Messages postés 16 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 4 novembre 2008 - 5 févr. 2006 à 17:49
cs_adel1987 Messages postés 1 Date d'inscription lundi 1 juin 2009 Statut Membre Dernière intervention 1 juin 2009 - 1 juin 2009 à 23:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35899-simplex-primal

cs_adel1987 Messages postés 1 Date d'inscription lundi 1 juin 2009 Statut Membre Dernière intervention 1 juin 2009
1 juin 2009 à 23:28
bonsoir ;
svp j'ai trouver un prbleme lors de compilation vous pouver resoudre mon pb
voici le PB
int main()
{
int i,j;
clrscr(); >>>>>>>>>>>>> le prbleme est la
printf("\n Specifie le type du problème:");
scanf("%d",&probleme_max );
printf("Remplissage des matrices :\n");
initialisation();
simplex();
scanf("%c",car);
return 1;
}
FiReTiTi Messages postés 54 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 28 septembre 2007
30 août 2007 à 17:03
Bonjour,

- les fonctions printf, scanf (les I/O) nécessitent l'inclusion de stdio.h
- les fonctions strcpy, strcmp nécessitent l'inclusion de string.h
Je ne vois pas ces inclusions ici, donc elle doivent être dans votre fichier values.h ainsi que la variable MAXINT.
Sous linux, Unix, ... on utilise la variable MAX_INT qui est dans limits.h (ou limit.h me rappelle plus).
cs_Abdellah81 Messages postés 16 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 26 juin 2007
30 août 2007 à 16:40
Salur, Il ne manque rien si vous avez compilé ca sous linux. sinon débrouillez vous! a+
FiReTiTi Messages postés 54 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 28 septembre 2007
30 août 2007 à 15:33
Bonjour et merci pour le code,

il manque quelques includes pour ce code : stdio, string, ...
de plus ce serait bien d'ajouter values.h
cs_Abdellah81 Messages postés 16 Date d'inscription samedi 27 mars 2004 Statut Membre Dernière intervention 26 juin 2007
30 mars 2006 à 12:01
En ce qui concerne les fautes d'orthographe; je suis desolais mais la langue francaise n'est pas ma premiere langue.

a +b plus lisible que a a + b ?????????????????????

Pour les matrices statiques c'est pas grave car ce programme est pedagogique et il n'est pas commercial pour ce soucie de l'espace memoire et de la complexite spatiale et temporelle.
il suffit de fair:

int **mat;
int nbr_ligne; nbr_colonne;

scanf("%d%d",nbr_ligne, nbr_colonne)
mat = (int *)malloc(nbr_ligne)
for(int i = 0; i < nbr_ligne; i++)
mat[i] = (int *)malloc(nbr_colonne);

En ce qui concerne l'inverse mois je suis mathematiciens je connais la mathode du pivot de gauss, mais les gens pour lesquelles j'ai realise ce programme ne la connaisse pas.

Je vous remerci pour vos commentaires
et je crois que c'est ca le but de ce site
Merci encore une fois
DSL pour le retard.
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
13 févr. 2006 à 16:42
Il faut ABSOLUMENT corriger les fautes d'orthographes :
par exemple je te laisse trouver les deux beau(x??) (belles??) erreur(s??)

: printf("\nErreur fatal: Produit de deux matrice incompatible");

Je ne peux rien dire sur le methode du simplex, je ne suis pas encore OK

la dessus, mais je me permets de faire queleques remarques sur les

fonctions matricielles :
* c'est bizzare d'avoir une taille maximale pour les matrices, il faut

allouer pile la bonne taille de memoire pour les matrices
* il faut eviter les variables globales quand c'est possible (comme ici)
* souvent tu fais a=a+b; il faut mieux faire a+=b; car c'est plus lisible

et surtout quand a vaut m3->tab[i][k] si tu te trompes dans les indices

... il faut minimiser les possibilites d'erreurs
* le calcul de l'inverse d'une matrice est bourrin en diable : la methode

des cofacteurs est en complexite factorielle, alors qu'avec la methode des

pivots de Gauss, elle est polynomiale (en n^3 je crois)
lilosse Messages postés 16 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 4 novembre 2008
5 févr. 2006 à 17:49
je crois ke tu ve parler des variables d'ecart car les variable artificielles c'est la phase 1 et toi tu traite la phase 2
(la phase 1 si on trouve pas une base on modifie la fonction economique je crois ke tu ss bien ça)
j'ai pas encore bien vue le code je ss pas si tu traite es les variable d'ecart forme une base .
la declaration de matrice A,b, CB, CN, XBB, XNB, N, B, I, NB, J;
ta besoin ke de matrice la A et de 2 conlone b et c
max z=CX
AX=B
Rejoignez-nous