Adloun

algorithmique (école d'ingénieur) · Chapitre 4 · Exercice de TD

Livraisons minimales

Répartition optimale d'une ressource · niveau 2

Énoncé

Chaque entrepôt doit recevoir au moins unités (contrainte contractuelle).

  • Modifier la récurrence de la répartition optimale. Quelle valeur donner à lorsqu'aucune répartition ne respecte les contraintes ?
  • Programmer, et tester sur les gains du chapitre avec et .
  • Que se passe-t-il si ?

Corrigé

  • La -ème livraison doit vérifier , et le reste doit pouvoir être réparti en respectant les contraintes des premiers entrepôts. On note s'il n'existe aucune répartition admissible.

Base. : .

Hérédité. , :

le maximum d'un ensemble vide valant .

  • Seule la boucle sur change ; on ignore les sous-problèmes impossibles.

for (int k = 1; k < n + 1; k++)
    for (int s = 0; s < S + 1; s++) {
        M[k][s] = MOINS_INFINI;                         // aucune répartition admissible
        for (int sp = B[k - 1]; sp < s + 1; sp++) {     // sp >= b(k-1)
            if (M[k - 1][s - sp] <= MOINS_INFINI / 2) continue; // reste impossible
            int v = G[k - 1][sp] + M[k - 1][s - sp];
            if (v > M[k][s]) { M[k][s] = v; A[k][s] = sp; }
        }
    }

Avec :


M[4] = [-oo, -oo, -oo, -oo, 5, 9]
M[3] = [-oo, -oo, -oo, 3, 7, 9]
M[2] = [-oo, -oo, -oo, 3, 5, 6]
M[1] = [0, 2, 3, 4, 5, 5]
M[0] = [0, 0, 0, 0, 0, 0]
m(4,5) = 9
  entrepôt 0 <-- 0, gain 0
  entrepôt 1 <-- 3, gain 3
  entrepôt 2 <-- 1, gain 4
  entrepôt 3 <-- 1, gain 2

Le gain passe de (sans contrainte) à : imposer trois unités à l'entrepôt , peu rentable, coûte une unité de gain.

  • Si , aucune répartition n'est admissible et : le programme le détecte (essai avec ), et l'appel de aro n'a alors aucun sens.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →