PIPS
rproblem.h
Go to the documentation of this file.
1 /* ========================================================================= */
2 /* SIMPLEXE for integer variables */
3 /* ALL-INTEGER METHODS */
4 /* Jean Claude SOGNO */
5 /* Projet CHLOE -- INRIA ROCQUENCOURT */
6 /* Juin 1994 */
7 /* ========================================================================= */
8 
9 /* ========================================================================= */
10 /* Duong NGUYEN QUE */
11 /* Adaption to abstract computation: janusvalue */
12 /* CRI-ENSMP */
13 /* ========================================================================= */
14 
15 /* ............. tailles maxima du probleme simplexe .............. */
16 #define RMAXCOLONNES 48 /* variables */
17 #define RMAXLIGNES 90 /* contraintes */
18 /*#define RMAXCOLONNES 800 */ /* variables */
19 /*#define RMAXLIGNES 2000 *//* contraintes */
20 typedef struct rproblem
21 { int nvar; /* nombre de variables originales */
22  int mcontr; /* nombre de fonctions et contraintes originales */
23  int nvpos; /* nombre de variables originales contraintes (rangees en
24  tete). Usuellement =0 en calcul de dependances */
25  FILE *ftrace; /* numero "file system" pour "trace" */
26  int ntrace; /* niveau "debug" (execution accompagnee de commentaires)
27  0: aucune impression
28  >= 1: volume d'information croit avec le niveau
29  4: comportement probleme decrit en "latex" */
30  int meth; /* 0 primal simplex - 1 dual simplex */
31  int base;
32  int copie; /* variables libres doublees */
33  int testp; /* pour evaluation perte precision */
34  int tfrac ; /* utilisation marginale pour mise au point */
36  /***************** tableaux de donnees du probleme ******************/
37  int e[RMAXLIGNES+2]; /* nature contraintes
38  0 egalite
39  1 inequation <=
40  -1 inequation >=
41  1 ou 2 fonction a minimiser (ligne 0)
42  -1 ou -2 fonction a maximiser (ligne 0)
43  3 fonction d'accompagnement (non operationnel) */
44  float d[RMAXLIGNES+2] ; /* seconds membres */
45  float a[RMAXLIGNES+2][RMAXCOLONNES+1] ;
46 /* ............... variables ou constantes de depart .............. */
47  float eps ;
48  int iname[RMAXLIGNES+RMAXCOLONNES+2];/*information application particuliere*/
49  /************************* resultats ******************************/
50  int vresult,iter ;
53  int rfrac ; /* information marginale pour mise au point */
54  /************************* local data *****************************/
55  int b[RMAXCOLONNES+1],g[RMAXLIGNES+2] ; /* note g[0] inutilise */
56  float inf[RMAXLIGNES+2] ;
57  float tinfcolonn[RMAXCOLONNES+2] ; /* accede par macro */
58  float tconor[RMAXLIGNES+RMAXCOLONNES+2];/*par macro,permet simuler conorm[-1]*/
59  float *pconor,*pinfcolonn ; /* pointeurs pour tableaux par macros */
60  int m,n,np ;
61  int m2 /*,i0*/,j0;
62  int nb,mb,tmax ;
63  int sommaire ; /* utilise comme booleen si tests sommaires */
64  int cost,rhs ; /* pour reutilisation de tableau simplexe */
65  float eps1,eps2,epss;/*eps1:precision,prec.col *eps2:pivotage*epss frac piv*/
67 /* ..................... resultat du solveur ....................... */
68 #define VRFIN 0 /* solution finie */
69 #define VRVID 1 /* polyedre vide */
70 #define VRINF 2 /* solution infinie */
71 #define VRINS 3 /* nombre de pivotages insuffisant, bouclage possible */
72 #define VRDEB 4 /* debordement de tableaux */
73 #define VRCAL 5 /* appel errone */
74 #define VRBUG 6 /* bug */
75 #define VROVF 7 /* overflow */
76 #define VREPS 8 /* pivot anormalement petit */
77 /*................................................................ */
#define RMAXCOLONNES
=========================================================================
Definition: rproblem.h:16
struct rproblem rproblem
#define RMAXLIGNES
Definition: rproblem.h:17
struct rproblem * Prproblem
define RMAXCOLONNES 800
define RMAXCOLONNES 800
Definition: rproblem.h:21
int nvar
Definition: rproblem.h:21
int namev
Definition: rproblem.h:35
int rhs
Definition: rproblem.h:64
float inf[RMAXLIGNES+2]
note g[0] inutilise
Definition: rproblem.h:56
float epss
Definition: rproblem.h:65
int g[RMAXLIGNES+2]
Definition: rproblem.h:55
float * pinfcolonn
Definition: rproblem.h:59
int base
0 primal simplex - 1 dual simplex
Definition: rproblem.h:31
int tmax
Definition: rproblem.h:62
int cost
utilise comme booleen si tests sommaires
Definition: rproblem.h:64
int vresult
nformation application particuliere
Definition: rproblem.h:50
float tinfcolonn[RMAXCOLONNES+2]
Definition: rproblem.h:57
int ntrace
numero "file system" pour "trace"
Definition: rproblem.h:26
float pi[RMAXLIGNES+RMAXCOLONNES+2]
Definition: rproblem.h:52
int nb
Definition: rproblem.h:62
int iname[RMAXLIGNES+RMAXCOLONNES+2]
Definition: rproblem.h:48
int m2
i0
Definition: rproblem.h:61
int copie
Definition: rproblem.h:32
int mb
Definition: rproblem.h:62
float tconor[RMAXLIGNES+RMAXCOLONNES+2]
accede par macro
Definition: rproblem.h:58
int tfrac
pour evaluation perte precision
Definition: rproblem.h:34
int vc
Definition: rproblem.h:35
int n
Definition: rproblem.h:60
float * pconor
ar macro,permet simuler conorm[-1]
Definition: rproblem.h:59
float a[RMAXLIGNES+2][RMAXCOLONNES+1]
seconds membres
Definition: rproblem.h:45
int e[RMAXLIGNES+2]
Definition: rproblem.h:37
float eps
...............
Definition: rproblem.h:47
int vl
Definition: rproblem.h:35
int testp
variables libres doublees
Definition: rproblem.h:33
int b[RMAXCOLONNES+1]
information marginale pour mise au point
Definition: rproblem.h:55
int rfrac
Definition: rproblem.h:53
int np
Definition: rproblem.h:60
float d[RMAXLIGNES+2]
nature contraintes 0 egalite 1 inequation <= -1 inequation >= 1 ou 2 fonction a minimiser (ligne 0) -...
Definition: rproblem.h:44
float eps1
pour reutilisation de tableau simplexe
Definition: rproblem.h:65
int nvpos
nombre de fonctions et contraintes originales
Definition: rproblem.h:23
int sommaire
Definition: rproblem.h:63
int iter
Definition: rproblem.h:50
int meth
niveau "debug" (execution accompagnee de commentaires) 0: aucune impression >= 1: volume d'informatio...
Definition: rproblem.h:30
float eps2
Definition: rproblem.h:65
float x[RMAXLIGNES+RMAXCOLONNES+2]
Definition: rproblem.h:51
int state
utilisation marginale pour mise au point
Definition: rproblem.h:35
int m
pointeurs pour tableaux par macros
Definition: rproblem.h:60
int j0
Definition: rproblem.h:61
int mcontr
nombre de variables originales
Definition: rproblem.h:22
FILE * ftrace
nombre de variables originales contraintes (rangees en tete).
Definition: rproblem.h:25