Bonjour tout le monde

Voici un problème que je sais résoudre par analyse de toutes les combinaisons, mais qui peut prendre beaucoup de temps selon la quantité de données ...
je chercher un algo capable de l'améliorer. Le problème est le suivant:
J'ai 4 produits A B C et D.
J'ai 5 articles 1 2 3 4 et 5, utilisant, avec quantité fournie, 1 ou 2 ou 3 ou 4 produits.
Tous les articles doivent être traités.
Je cherche à utiliser, pour les 5 articles, le moins de produits possibles, sachant que la totalité de chaque produit ne peut dépasser 5.
Exemple :
Nom : IM1.jpg
Affichages : 218
Taille : 11,0 Ko

un bon résultat serait :
Nom : IM2.jpg
Affichages : 240
Taille : 10,1 Ko

Si on regarde les colonnes B et C, toutes les contraintes sont respectées :
- à la fois tous les articles (les lignes) sont traités,
- le total de chaque colonne est <=5
- un minimum de produits (ici 2, B et C) . Donc B et C sont un bon résultat.
Par contre, A C et D sont aussi un résultat, mais avec 3 produits, donc moins intéressant.
Quelqu'un aurait une piste d'algo à m'indiquer (ou à quel type de problème se rattache le mien ) ?
Merci !