Bonjour,

je veux programmer en C la methode branch and bound pour ordonnancés des travaux sur une machine.
j1 j2 j3
2 4 6

je veux a chaque noeud définir les jobs ordonnancés, les jobs non ordonnancés et le total temps d'execution. la procédure de sépartion consiste a prendre ou ne pas prendre un job

par exemple si j1=0 jobs ordonnancés = 0 , jobs non ordonnancés =j1,j2 j3
si j1=1 jobs ordonnancés = j1, jobs non ordonnancés = j2 j3


j'ai pas trouvé une idée pour faire déplacé les jobs.

j'ai défini seulement mes varibles :

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
// declaration de noeud: chaque noeud possede Ci/S/R
typedef struct element *value;
struct element
   {
       int completiontime;
       int set; // tableau contenant le processing time des job ordonnacés
       int rest; // tableau contenant le processing time des job non ordonnacés
   };
 
// déclaration de l'arbre binaire
 
typedef struct node *tree;
struct node
{
    struct element *value;         // valeur du noeud
    tree left;     //  sous-arbre gauche
    tree right;    // sous-arbre droit
} ;

Merci pour votre aide