Nella programmazione dei vincoli, ci sono dei modelli che tengono conto del numero di modifiche alle variabili?


10

Considera un modello CSP in cui la modifica del valore di una particolare variabile è costosa. C'è qualche lavoro in cui la funzione obiettivo considera anche il numero di cambiamenti nel valore della variabile durante il processo di ricerca?

Un esempio: la variabile costosa da cambiare può essere nel controllo di qualche altro agente e c'è un sovraccarico nel coinvolgere quell'agente per cambiare la variabile. Un altro esempio: la variabile partecipa a uno dei vincoli e la soddisfazione di questo vincolo comporta la chiamata di una funzione costosa (come un simulatore), ad esempio è il vincolo e è un costoso- per calcolare la funzione. Pertanto, x ed y sono variabili costosi da sostituire.z=f(x,y)fxy


1
La funzione obiettivo parla dei valori finali del CSP ed è ignara del processo di ricerca. Pertanto, nelle formulazioni standard, i cambiamenti in tali variabili non sono esposti al modello CSP. Alcuni risolutori, come Choco, forniscono euristiche per guidare il processo di ricerca. Alcuni di questi potrebbero anche essere definiti dall'utente. Forse è questo il posto per cambiare il modo in cui viene eseguita la ricerca.
Dave Clarke,

1
Ma perché la funzione obiettivo dovrebbe riflettere quanto è costosa trovare la soluzione? Non dovresti confrontare le soluzioni in base alla loro utilità nel dominio del problema in seguito? O il time-to-solution fa parte del problema del mondo reale?
Raffaello

1
Sembra che tu sia nel contesto della soddisfazione distribuita dei vincoli e sembra che tu stia cercando l'euristica.
Dave Clarke,

Risposte:


4

Sembra che tu voglia una tecnica di ottimizzazione sensibile ai costi (attenta ai costi, preventivata) . Minimizzare due valori (ad esempio la soluzione del vostro obiettivo e il costo delle operazioni di ed ) è un problema di ottimizzazione multicriterio e quelli tendono ad essere molto difficile da risolvere. Un approccio comune è quello di specificare un budget per i costi massimi consentiti e quindi ridurre al minimo la funzione obiettiva rispetto ai . Questa formulazione tende ad adattarsi perfettamente ai quadri esistenti come ulteriore vincolo. Naturalmente, specificare la funzione di costo e il budget consentito in modo tale da ottenere soluzioni significative può essere difficile - questo dipenderà dal problema specifico che si sta tentando di risolvere.xycosts(x,y)Budget

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.