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 "ray_dte.h"
#include "polyedre.h"
#include "matrix.h"
#include "plint.h"
Go to the source code of this file.
Macros | |
#define | TRACE |
package plint More... | |
#define | MALLOC(s, t, f) malloc(s) |
pour recuperer les declarations des fonctions de conversion de sc en liste de sommets et reciproquement, bien que ca casse le DAG des types de donnees More... | |
Functions | |
Psommet | lignes_entrant (Psommet sys, Variable var, int nb_som, int *no_som) |
Psommet lignes_entrant(Psommet sys, Variable var, int nb_som, int * no_som): algorithme primal du simplexe - recherche de la nouvelle ligne pivot. More... | |
Variable | var_pivots (Psommet fonct) |
Variable var_pivots(Psommet fonct): algorithme primal du simplexe - recherche de la variable pivot entrant dans la base. More... | |
Psommet | primal_pivot (Psommet sys, Pvecteur *lvbase, int nb_som, Psommet fonct) |
Psommet primal_pivot(Psommet sys, Pvecteur * lvbase, int nb_som, Psommet fonct): algorithme primal du simplexe. More... | |
Psysteme | primal (Psysteme ps, Psommet fonct) |
Psysteme primal(Psysteme ps, Psommet fonct): Algorithme primal du simplexe avec fonction economique initialisee. More... | |
bool | primal_positive (Psysteme ps, Psommet fonct) |
pour recuperer les declarations des fonctions de conversion de sc en liste de sommets et reciproquement, bien que ca casse le DAG des types de donnees
Definition at line 54 of file plsimplexe.c.
#define TRACE |
package plint
Definition at line 43 of file plsimplexe.c.
Psommet lignes_entrant(Psommet sys, Variable var, int nb_som, int * no_som): algorithme primal du simplexe - recherche de la nouvelle ligne pivot.
resultat retourne par la fonction :
Psommet : contrainte correspondant a la nouvelle ligne pivot NULL si l'on n'en a pas trouve
Les parametres de la fonction :
Psommet sys : systeme lineaire int nb_som : nombre de contraintes du systeme int no_som : place de la contrainte dans le systeme (no de la ligne) int var : variable pivot qui a ete choisie
initialisation du minimum
Definition at line 71 of file plsimplexe.c.
References min, print_Value(), printf(), typ_som::succ, TCST, value_div, value_lt, value_mod, value_negz_p, value_pos_p, value_posz_p, VALUE_TO_DOUBLE, value_uminus, vect_coeff(), and typ_som::vecteur.
Referenced by primal_pivot().
Psysteme primal(Psysteme ps, Psommet fonct): Algorithme primal du simplexe avec fonction economique initialisee.
resultat retourne par la fonction :
Psysteme : systeme lineaire initial modifie.
Si le systeme final est vide, c'est que le systeme initial est non faisable
Les parametres de la fonction :
! Psysteme ps : systeme lineaire ! Psommet fonct : fonction economique du programme lineaire
Definition at line 283 of file plsimplexe.c.
References add_var_sup(), Ssysteme::base, base_dup(), BASE_NULLE, Ssysteme::dimension, eq_in_ineq(), primal_pivot(), printf(), sc_fprint(), sommets_rm(), variable_default_name(), and vect_rm().
Psommet primal_pivot(Psommet sys, Pvecteur * lvbase, int nb_som, Psommet fonct): algorithme primal du simplexe.
resultat retourne par la fonction :
Psommet : systeme lineaire initial modifie. NULL : si le systeme de depart est non faisable.
Les parametres de la fonction :
Psommet sys : systeme lineaire Psommet fonct : fonction economique du programme lineaire Pvecteur lvbase: liste des variables de base du systeme int nb_som : nombre de contraintes du systeme
recherche de la variable pivot
recherche de la ligne pivot
operation PIVOT
cas ou la solution est non bornee: on renvoit le systeme car on considere qu'il admet une solution
Definition at line 209 of file plsimplexe.c.
References lignes_entrant(), lvbase_add(), lvbase_ote_no_ligne(), non_borne(), pivoter(), printf(), sc_fprint(), sommets_normalize(), sommets_rm(), Svecteur::succ, Svecteur::val, value_posz_p, Svecteur::var, var_pivots(), variable_default_name(), typ_som::vecteur, and VECTEUR_NUL.
Referenced by plint(), plint_pas(), plreal(), primal(), and primal_positive().
Definition at line 331 of file plsimplexe.c.
References add_var_sup(), Ssysteme::base, base_dup(), BASE_NULLE, Ssysteme::dimension, eq_in_ineq(), primal_pivot(), printf(), sc_fprint(), sc_rm(), sol_positive_simpl(), sommets_rm(), variable_default_name(), and vect_rm().
Variable var_pivots(Psommet fonct): algorithme primal du simplexe - recherche de la variable pivot entrant dans la base.
resultat retourne par la fonction :
int : variable pivot
Les parametres de la fonction :
Psommet fonct : fonction economique du programme lineaire
initialisation du minimum
Definition at line 143 of file plsimplexe.c.
References min, printf(), Svecteur::succ, TCST, Svecteur::val, value_lt, value_neg_p, value_posz_p, Svecteur::var, vect_chg_coeff(), vect_coeff(), vect_compare(), vect_new(), vect_rm(), and vect_sort().
Referenced by primal_pivot().