PIPS
|
#include <stdio.h>
#include <stdlib.h>
#include "boolean.h"
#include "arithmetique.h"
#include "vecteur.h"
#include "contrainte.h"
#include "sc.h"
#include "sommet.h"
#include "matrix.h"
#include "plint.h"
Go to the source code of this file.
Macros | |
#define | MALLOC(s, t, f) malloc((unsigned)(s)) |
package plint More... | |
#define | FREE(s, t, f) free((char *)(s)) |
Functions | |
void | oter_lvbase (Psommet sys, Pvecteur lvbase) |
void oter_lvbase(Psommet sys, Pvecteur lvbase): Elimination d'une liste de variables contenues dans un vecteur dans Gomory : elimination des variables de base du systeme More... | |
bool | is_var_in_lvbase (Variable var, Pvecteur lvbase) |
bool is_var_in_lvbase(Variable var, Pvecteur lvbase): test de non appartenance d'une variable a un vecteur More... | |
void | lvbase_add (Variable var, int no_ligne, Pvecteur *lvbase) |
void lvbase_add(Variable var, int no_ligne, Pvecteur * lvbase): ajout d'un couple (variable de base, no ligne correspondante) dans la liste des variables de base du systeme More... | |
void | lvbase_ote_no_ligne (int no_ligne, Pvecteur *lvbase) |
void lvbase_ote_no_ligne(int no_ligne, Pvecteur * lvbase): Elimination de la variable de base correspondant au numero de ligne NO_LIGNE de la liste des variables de base du systeme. More... | |
Variable | find_vbase (Psommet eq, Pvecteur lvbase) |
Variable find_vbase(Psommet eq, Pvecteur lvbase): Recherche de la variable de base d'une contrainte. More... | |
Variable | coeff_no_ligne (Pvecteur lvbase, int no_ligne) |
Variable coeff_no_ligne(lvbase, int no_ligne): Recherche de la variable de base d'une contrainte. More... | |
Variable coeff_no_ligne(lvbase, int no_ligne): Recherche de la variable de base d'une contrainte.
La contrainte est caracterisee par son numero de ligne
resultat retourne par la fonction :
Variable : numero de la variable
Les parametres de la fonction :
Pvecteur lvbase: liste des variables de base du systeme int no_ligne: numero de la ligne
Definition at line 228 of file plvbase.c.
References int_to_value, Svecteur::succ, Svecteur::val, value_ne, and Svecteur::var.
Referenced by sol_entiere(), sol_finale(), sol_positive(), and sol_positive_simpl().
Variable find_vbase(Psommet eq, Pvecteur lvbase): Recherche de la variable de base d'une contrainte.
resultat retourne par la fonction :
int : no de la variable de base
Les parametres de la fonction :
Psommet eq : contrainte du systeme Pvecteur lvbase: liste des variables de base du systeme
Definition at line 188 of file plvbase.c.
References eq, is_var_in_lvbase(), printf(), Svecteur::succ, TCST, Svecteur::val, Svecteur::var, vect_chg_coeff(), vect_coeff(), vect_compare(), vect_new(), vect_rm(), vect_sort(), and Scontrainte::vecteur.
Referenced by gomory_eq().
bool is_var_in_lvbase(Variable var, Pvecteur lvbase): test de non appartenance d'une variable a un vecteur
Ne pourais-tu pas obtenir le meme resultat avec un vect_coeff()?
resultat retourne par la fonction :
boolean : true si la variable n'appartient pas au vecteur false sinon
Les parametres de la fonction :
Pvecteur lvbase: liste des variables de base du systeme int var : variable du systeme
Definition at line 92 of file plvbase.c.
References Svecteur::succ, Svecteur::val, and Svecteur::var.
Referenced by find_vbase().
void lvbase_add(Variable var, int no_ligne, Pvecteur * lvbase): ajout d'un couple (variable de base, no ligne correspondante) dans la liste des variables de base du systeme
Les parametres de la fonction :
Pvecteur lvbase: liste des variables de base du systeme Variable var : variable du systeme
int no_ligne: numero de la ligne
Definition at line 116 of file plvbase.c.
References int_to_value, pl, Svecteur::succ, Svecteur::val, value_ge, value_increment, and vect_new().
Referenced by add_var_sup(), dual_pivot_pas(), plint_degen(), primal_pivot(), and var_ecart_sup().
void lvbase_ote_no_ligne(int no_ligne, Pvecteur * lvbase): Elimination de la variable de base correspondant au numero de ligne NO_LIGNE de la liste des variables de base du systeme.
Les parametres de la fonction :
Pvecteur lvbase: liste des variables de base du systeme int no_ligne: numero de la ligne
Definition at line 145 of file plvbase.c.
References FREE, int_to_value, printf(), Svecteur::succ, Svecteur::val, value_eq, value_ne, vect_rm(), and VECTEUR.
Referenced by dual_pivot_pas(), plint_degen(), and primal_pivot().
void oter_lvbase(Psommet sys, Pvecteur lvbase): Elimination d'une liste de variables contenues dans un vecteur dans Gomory : elimination des variables de base du systeme
resultat retourne par la fonction :
Le systeme initial est modifie.
Les parametres de la fonction :
Psommet sys : systeme lineaire Pvecteur lvbase: liste des variables de base du systeme
Definition at line 61 of file plvbase.c.
References printf(), typ_som::succ, Svecteur::succ, Svecteur::var, vect_chg_coeff(), and typ_som::vecteur.
Referenced by plint_degen().