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... | |
Functions | |
Psommet | gomory_trait_eq (Psommet eq, Variable var) |
Psommet gomory_trait_eq(Psommet eq, Variable var): Cette fonction utilise une contrainte du systeme en vue d'obtenir une coupe de Gomory servant a rendre entiere une des variables du systeme. More... | |
Psommet | gomory_eq (Psommet *sys, Pvecteur lvbase, int nb_som, int *no_som, Variable *var) |
Psommet gomory_eq(Psommet *sys, Pvecteur lvbase, int nb_som, int * no_som, Variable * var): Recherche d'une contrainte dont la variable de base est non entiere. More... | |
package plint
Definition at line 45 of file plgomory.c.
Psommet gomory_eq(Psommet *sys, Pvecteur lvbase, int nb_som, int * no_som, Variable * var): Recherche d'une contrainte dont la variable de base est non entiere.
resultat retourne par la fonction :
Psommet : contrainte dont la variable de base est non entiere
Les parametres de la fonction :
Psommet sys : systeme lineaire Pvecteur lvbase: liste des variables de base du systeme int nb_som : nombre de contraintes du systeme int no_som : place de la contrainte dans le systeme (no de la ligne) Variable var: variable non entiere
on a trouve une variable de base non entiere
on choisit celle de plus grand denominateur
Definition at line 153 of file plgomory.c.
References eq, find_vbase(), max, pgcd, printf(), sommets_rm(), Scontrainte::succ, TCST, test_borne(), value_abs, value_absolute, value_div, value_gt, value_mod, value_notzero_p, value_uminus, VALUE_ZERO, vect_coeff(), and Scontrainte::vecteur.
Referenced by plint_pas().
Psommet gomory_trait_eq(Psommet eq, Variable var): Cette fonction utilise une contrainte du systeme en vue d'obtenir une coupe de Gomory servant a rendre entiere une des variables du systeme.
resultat retourne par la fonction :
Psommet : inegalite correspondant a la coupe qu'il faut ajouter au systeme pour rendre la variable entiere
Les parametres de la fonction :
Psommet eq : contrainte du systeme dont la variable de base est non entiere Variable var : variable de base non entiere
calcul du determinant D
calcul de la coupe de Gomory
calcul de lambda = coefficient multiplicateur permettant d'obtenir la coupe optimale
optimisation de la coupe de Gomory
Definition at line 62 of file plgomory.c.
References typ_som::denominateur, eq, typ_som::eq_sat, MALLOC, printf(), SOMMET, typ_som::succ, Svecteur::succ, TCST, Svecteur::val, value_absolute, value_addto, value_div, value_gt, value_mod, value_modulus, value_neg_p, value_notzero_p, VALUE_ONE, value_oppose, value_product, value_sign, VALUE_ZERO, value_zero_p, vect_chg_coeff(), vect_chg_sgn(), vect_clean(), vect_coeff(), vect_dup(), vect_pgcd_all(), Scontrainte::vecteur, and typ_som::vecteur.
Referenced by plint_pas().