Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
tp-math
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Math
2e-annee
tp-math
Commits
2a9c90eb
Commit
2a9c90eb
authored
2 years ago
by
juliano.souzaluz
Browse files
Options
Downloads
Patches
Plain Diff
upd
parent
709e45a3
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/META-INF/MANIFEST.MF
+3
-0
3 additions, 0 deletions
src/META-INF/MANIFEST.MF
src/Simplex.java
+27
-19
27 additions, 19 deletions
src/Simplex.java
tp-math.jar
+0
-0
0 additions, 0 deletions
tp-math.jar
with
30 additions
and
19 deletions
src/META-INF/MANIFEST.MF
0 → 100644
+
3
−
0
View file @
2a9c90eb
Manifest-Version: 1.0
Main-Class: Main
This diff is collapsed.
Click to expand it.
src/Simplex.java
+
27
−
19
View file @
2a9c90eb
...
...
@@ -8,7 +8,7 @@ public class Simplex {
private
final
int
ligne
;
// Ligne
private
final
int
colonne
;
// Colonne
private
int
nbPivot
;
private
static
final
double
EPSILON
=
1
E
-
20
;
private
static
final
double
EPSILON
=
1
E
-
7
;
private
final
int
nbContraintes
;
public
Matrix
getMatEcart
()
{
...
...
@@ -21,11 +21,12 @@ public class Simplex {
/**
* Constructeur du simplex
* @param ligne le nombre de lignes dans le tableau initial
* @param colonne le nombre de colonnes dans le tableau initial
*
* @param ligne le nombre de lignes dans le tableau initial
* @param colonne le nombre de colonnes dans le tableau initial
* @param nbSousCondition le nombre de sous condition
* @param nbContraintes le nombre de contraintes
* @param debugging mode de debug
* @param nbContraintes
le nombre de contraintes
* @param debugging
mode de debug
*/
public
Simplex
(
int
ligne
,
int
colonne
,
int
nbSousCondition
,
int
nbContraintes
,
boolean
debugging
)
{
this
.
ligne
=
ligne
;
...
...
@@ -40,7 +41,8 @@ public class Simplex {
/**
* Crée la matrice d'écart pour le début de la résolution du simplex (transformation du tableau initial en matrice)
* @param eq Equation retournée par le parser
*
* @param eq Equation retournée par le parser
* @param nbContraintes nombre de contraintes
*/
void
createSimplex
(
Equation
eq
,
int
nbContraintes
)
{
...
...
@@ -56,16 +58,14 @@ public class Simplex {
}
// Ajout des membres de droites
for
(
int
i
=
0
;
i
<=
this
.
ligne
-
1
;
i
++)
{
for
(
int
i
=
0
;
i
<=
this
.
ligne
-
1
;
i
++)
{
this
.
matEcart
.
setData
(
i
,
this
.
colonne
-
1
,
eq
.
getRightVec
().
get
(
i
));
}
// Ajout de la fonction objective
this
.
matEcart
.
matrixRealloc
(
this
.
matEcart
.
getLine
()
+
1
,
this
.
matEcart
.
getCol
());
for
(
int
i
=
0
;
i
<
nbContraintes
;
i
++)
{
for
(
int
i
=
0
;
i
<
nbContraintes
;
i
++)
{
this
.
matEcart
.
setData
(
this
.
ligne
,
i
,
eq
.
getFuncObj
().
get
(
i
));
}
}
...
...
@@ -85,6 +85,7 @@ public class Simplex {
/**
* Phase 1
*
* @return le résultat du pivot
*/
Matrix
tabAux
()
{
...
...
@@ -158,6 +159,7 @@ public class Simplex {
/**
* Sélectionne le premier négatif rencontré sur la ligne de la fonction objective
*
* @param mat la matrice
* @return la colonne du premier négatif rencontré
*/
...
...
@@ -170,10 +172,11 @@ public class Simplex {
/**
* Fonction de pivot
* @param mat phase 1 ⇒ tableau auxiliaire | phase 2 => Matrice d'écart
*
* @param mat phase 1 ⇒ tableau auxiliaire | phase 2 => Matrice d'écart
* @param phase true => phase 1 | false => phase 2
*/
void
pivot
(
Matrix
mat
,
boolean
phase
)
{
void
pivot
(
Matrix
mat
,
boolean
phase
)
{
this
.
nbPivot
+=
1
;
// Ligne du négatif
int
firstNeg
=
getFirstNeg
(
mat
);
...
...
@@ -216,8 +219,9 @@ public class Simplex {
/**
* Récupérer l'id de la ligne du pivot
* @param mat le tableau auxiliaire
* @param y la colonne où l'on va chercher le pivot
*
* @param mat le tableau auxiliaire
* @param y la colonne où l'on va chercher le pivot
* @param phase la phase dans laquelle on se situe
* @return l'id de la ligne du pivot
*/
...
...
@@ -256,8 +260,9 @@ public class Simplex {
/**
* Print les informations des matrices pour le mode débogage
*
* @param mat la matrice souhaitée
* @param s le titre
* @param s
le titre
*/
public
void
printSimplex
(
Matrix
mat
,
String
s
)
{
mat
.
matrixPrint
(
s
);
...
...
@@ -265,11 +270,12 @@ public class Simplex {
/**
* Print du résultat comme dans l'énnoncé
* @param m la matrice
*
* @param m la matrice
* @param time le temps de l'exécution
*/
public
void
resultPrint
(
Matrix
m
,
long
time
)
{
if
(
m
==
null
)
{
if
(
m
==
null
)
{
System
.
out
.
println
(
"Impossible d'écrire une matrice nulle..."
);
return
;
}
...
...
@@ -285,11 +291,13 @@ public class Simplex {
System
.
out
.
println
(
"-------------------Variables------------------"
);
System
.
out
.
println
(
"Variables:"
);
for
(
int
i
=
0
;
i
<
line
;
i
++)
{
System
.
out
.
format
(
"X[%d]: = %.4f \n"
,
i
,
m
.
getData
(
i
,
col
));
if
(
m
.
getData
(
i
,
col
)
!=
0.0
)
System
.
out
.
format
(
"X[%d]: = %.4f \n"
,
i
,
m
.
getData
(
i
,
col
));
}
for
(
int
i
=
0
;
i
<
col
;
i
++)
{
System
.
out
.
format
(
"Z_Cstr_%d: = %.4f \n"
,
i
,
m
.
getData
(
line
,
i
));
if
(
m
.
getData
(
line
,
i
)
!=
0.0
)
System
.
out
.
format
(
"Z_Cstr_%d: = %.4f \n"
,
i
,
m
.
getData
(
line
,
i
));
}
}
...
...
This diff is collapsed.
Click to expand it.
tp-math.jar
deleted
100644 → 0
+
0
−
0
View file @
709e45a3
File deleted
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment