Salut à tous !!!

SVP; je suis en train de développer une bibliothèque dédiée au résolution des problème de la programmation linéaire et non-linéaire; bref...

Dans une certaine étape, j'ai une matrice dont je veux fixer les éléments positifs selon la dernière ligne de la matrice comme suit:

Un élément de la colonne j de la dernière ligne de la matrice, je doit lui faire correspondre tous les éléments positifs de la même colonne.

A priori, c'est facile à faire, et j'ai une "Hashtable" pour faire correspondre la colonne et chaque ligne;

J'ai utilisé ce morceau de programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Hashtable<Integer, ArrayList<Integer>> fixePositifElement(DoubleVector c, DoubleMatrix a){
		Hashtable<Integer, ArrayList<Integer>> h = new Hashtable<Integer, ArrayList<Integer>>();
		ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
		ArrayList<Integer> subList = new ArrayList<Integer>();
		ArrayList<Integer> listKey = new ArrayList<Integer>();
		for(int j = 0; j < c.dimension(); j++){
			if(c.getComponent(j) > 0){
				subList = new ArrayList<Integer>();
				for(int i = 0; i < a.rows(); i++){
					if(a.getElement(i, j) > 0){
					subList.add(i);	
					}
				}
				list.add(subList);
				listKey.add(j);
			}
		} 
		for(int i = 0; i < list.size(); i++)
			h.put(listKey.get(i), list.get(i));
                System.out.println(h);
		return h;
	}
Mais quand je le test, l'application se bloque à la dernière ligne; il ne sort pas de l'application sachant que les résultats obtenus à cette étape sont justes.

Merci de votre aide

-----------------------------
Juste une remarque, j'utilise une certaine bibliothèque nommé : Jsci pour gérer les matrices et vecteurs où j'ai les classes :
"DoubleVector" et "DoubleMatrix"