Exemple #1
0
 private static void newBas(Table table, Pair pair, List<Pair> bas)
 {
     List<Pair> path = new List<Pair>();
     pair.value = 0;
     bas.Add(pair);
     path.Add(pair);
     table.matrix[pair.i, pair.j].bas = true;
     moveTable(table, path, true);
     Pair p = pump(table, path);
     bas.RemoveAll(x => x.i == p.i && x.j == p.j);
     table.path = path;
 }
Exemple #2
0
 private static Pair findNewBas(Table table, double[] bas)
 {
     Pair pair = new Pair(0, 0);
     double d;
     for (int i = 0; i < table.m; i++)
         for (int j = 0; j < table.n; j++)
             if (!table.matrix[i, j].bas)
             {
                 d = table.matrix[i, j].weight - bas[i] - bas[table.m + j];
                 if (d < pair.value)
                 {
                     pair.value = d;
                     pair.i = i;
                     pair.j = j;
                 }
             }
     return pair;
 }