PIPS
|
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include "genC.h"
#include "misc.h"
#include "text.h"
#include "text-util.h"
#include "ri.h"
#include "ri-util.h"
#include "paf_ri.h"
#include "pip.h"
Go to the source code of this file.
Macros | |
#define | PIP_IN_FILE "pip_in" |
Name : ps_to_fic_pip.c Package : pip Author : F. More... | |
#define | OK 0 |
#define | EGALITE 1 |
#define | INEGALITE 2 |
#define | ERREUR_TAILLE 3 |
Functions | |
void | ecrit_commentaire2 (char *commentaire, Psysteme p_sys_tab, int nb_var, FILE *nom_fichier) |
Name: ecrit_commentaire2 More... | |
void | ecrit_ligne (Pvecteur p_vect, Pbase p_sys_base, FILE *nom_fichier, int nb_var, int eg_ineg) |
Name: ecrit_ligne More... | |
int | ecrit_tableau2 (Psysteme p_syst_tab, int nb_var, FILE *nom_fichier) |
Name: ecrit_tableau2. More... | |
int | ecrit_probleme2 (char *commentaire, Psysteme p_syst_tab, Psysteme p_syst_cont, int nb_var, int bg, int nb_var_cont) |
Name: ecrit_probleme2. More... | |
#define EGALITE 1 |
Definition at line 55 of file ps_to_fic_pip.c.
#define ERREUR_TAILLE 3 |
Definition at line 57 of file ps_to_fic_pip.c.
#define INEGALITE 2 |
Definition at line 56 of file ps_to_fic_pip.c.
#define OK 0 |
Definition at line 54 of file ps_to_fic_pip.c.
#define PIP_IN_FILE "pip_in" |
Name : ps_to_fic_pip.c Package : pip Author : F.
Dumontet Date : july 93 Historic :
Documents:
Comments :
Definition at line 52 of file ps_to_fic_pip.c.
Name: ecrit_commentaire2
Parameters: commentaire: le texte du commentaire.
p_sys_tab: le Psysteme traite. Contient le nom des variables
et des parametres.
nb_var: discrimine les variables des parametres
Result: void
Aims: ecrire le commentaire et le nom des variables et des parametres.
Author: F Dumontet
Date of last change:
Definition at line 78 of file ps_to_fic_pip.c.
References aux, Ssysteme::base, entity_local_name(), fprintf(), Svecteur::succ, and Svecteur::var.
Referenced by ecrit_probleme2().
Name: ecrit_ligne
Parameters: p_vect: le vecteur a ecrire. Il doit PAS etre ordonne.
p_sys_base: vecteur de base permet de connaitre l'ordre des
variables et de rajouter des 0 pour celles qui ne
sont pas dans la matrice creuse.
nom_ficher: pointeur sur le fichier destination.
nb_var: permet de differencier les "nbvar" variables des
parametres dans la base.
eg_ineg: permet de distinger le cas dans lequel le vecteur
represente une egalite de celui ou il represente une
une inegalite.
Result: void
Aims: ecrire un vecteur sur une ligne. Le vecteur doit etre ordonne
Author: F Dumontet
Date of last change: AP, 18 oct 93. L'ordre dans le vecteur n'est plus
important.
Compteur de variables deja vues
Pas de blanc juste apres le #[
Definition at line 148 of file ps_to_fic_pip.c.
References aux, EGALITE, fprintf(), int, Svecteur::succ, TCST, Svecteur::var, and vect_coeff().
Referenced by ecrit_tableau2().
int ecrit_probleme2 | ( | char * | commentaire, |
Psysteme | p_syst_tab, | ||
Psysteme | p_syst_cont, | ||
int | nb_var, | ||
int | bg, | ||
int | nb_var_cont | ||
) |
Name: ecrit_probleme2.
Parameters: commentaire: chaine de caracteres contenant le texte du
commentaire.
p_syst_tab: Psysteme devant etre resolu (il doit etre
ordonne).
p_syst_cont: Psysteme contenant le contexte.
nb_var: le nombre de variables dans p_syst_tab.
bg: numero d'ordre dans p_syst_tab du parametre devant etre
considere comme infiniment grand;
nb_var_cont: nbr de variables du contexte.
Result: entier indiquant si l'ecriture s'est bien deroulee.
Aims: ecrire dans un fichier, au format d'entree reconnu par pip un
probleme de programmation lineaire en nombre entiers. Il nous faut
deux Psystemes. Le premier contient les variables, les parametres et les constantes (dans l'ordre). Le second contient le contexte avec
dans l'ordre ses variables et les constantes. L'odre est celui de la base de chaque Psysteme. La distinction entre variables et parametres est effectuee au moyen de nb_var qui indique que les nb_var 1eres
termes sont des variables.
Author: F Dumontet
Date of last change:
le nombre de variables
le nombre de parametres
le nombre de contraintes du systeme
le numero de la variable consideree
comme infiniment grande pour le max
l'indicateur de solution entiere.
ecriture du systeme a resoudre
ecriture du contexte
Definition at line 270 of file ps_to_fic_pip.c.
References aux, Ssysteme::base, Ssysteme::dimension, ecrit_commentaire2(), ecrit_tableau2(), fprintf(), Ssysteme::nb_eq, Ssysteme::nb_ineq, and PIP_IN_FILE.
Name: ecrit_tableau2.
Parameters: p_syst_tab: le Psysteme qui va etre ecrit sur le fichier. Ce
peut etre aussi bien un contexte q'un probleme.
nb_var: le nombre de variables du Psysteme a differencier des
parametres.
nom_fichier: fichier de destination.
Result: entier.
Aims: ecrire a partir d'un Psysteme, un tableau avec une ligne par vecteur inegalite et deux pour un vecteur egalite ( opposes )
Author: F Dumontet
Date of last change:
Definition at line 204 of file ps_to_fic_pip.c.
References Ssysteme::base, ecrit_ligne(), EGALITE, Ssysteme::egalites, fprintf(), INEGALITE, Ssysteme::inegalites, OK, Scontrainte::succ, and Scontrainte::vecteur.
Referenced by ecrit_probleme2().