La risoluzione di Vincolo Unario Soddisfazione Problema di branch and bound
-
04-11-2019 - |
Domanda
Sto risolvendo un problema di pianificazione di un pasto, in cui ho bisogno per soddisfare le richieste come "creare un due piatto che DEVE avere al massimo 2 grammi di grassi, il primo piatto DEVE essere 400kcal e DEVONO avere almeno 10g di proteine, e il secondo piatto DEVE essere 100kcal" restituisce un elenco di piatti da un elenco predefinito.In altre parole, ci vuole duro/morbido vincoli di un pasto intero e set di soft/hard vincolo su ogni piatto slot come input e output di un incarico di piatti piatto slot.
Ho modellato come un Vincolo Soddisfazione Problema con tutti i piatti vincoli in fase di vincoli unari e pasto vincoli utilizzato per accettare/rifiutare una soluzione così come classifica.Ho scritto Prima di Profondità Branch and Bound circa il seguente [1] (in breve, si costruisce prima di profondità di un albero di tutte le possibili assegnazioni e pota i rami con un piatto violando i vincoli) e funziona abbastanza bene.(*)
Il problema è che non ho bisogno di un altro algoritmo per la risoluzione di quel problema, e - per motivi non posso cambiare, deve essere completamente deterministico.Che è problematico, in quanto:
- tutta la pianificazione del pasto di ricerca si concentra sull'utilizzo di vari gusti, di intelligenza artificiale,
- i pochi documenti di ricerca che non fanno uso di AI, di utilizzare onthologies e la regola base di un ragionamento, ma non offrono dettagli e costruire tale è al di fuori del mio budget di tempo e capacità,
- tutti gli altri algoritmi che ho potuto trovare per la risoluzione del Vincolo di Soddisfazione Problema di messa a fuoco su quelli con binario vincoli.
Ho cercato di trovare un algoritmo per circa due settimane, ma non trovarono nulla.Sento che mi manca una soluzione ovvia, ma non riesco a mettere il dito su di esso.
(*) Naturalmente, ho intenzione di migliorare dal appriopriately integrazione pasto vincoli di ricerca.
[1] Sundmark, Niclas."Progettazione e implementazione di un vincolo di soddisfazione algoritmo per la pianificazione del pasto." (2005).
Nessuna soluzione corretta