Come scrivere una condizione di un problema di PL?
Ciao a tutti,
volevo risolvere un problema tramite programmazione lineare, ma a un certo punto mi sono trovata a dover trascrivere dei vincoli che esprimessero la seguente relazione logica:
date delle variabili binarie $x_1,...,x_n,y$, voglio che valga $\sum_{i=1}^n x_i \geq 1 \Rightarrow y=1$.
Io ho imparato solo a trascrivere vincoli che esprimano relazioni del tipo $\sum_{i=1}^n x_i = 1 \Rightarrow y=1$, ma con il $\geq$ non so come comportarmi.
Suggerimenti?
[EDIT]
potrebbe essere corretto scrivere qualcosa del genere: $\sum_{i=1}^n x_i/n \leq y \leq \sum_{i=1}^n x_i/n+1$?
volevo risolvere un problema tramite programmazione lineare, ma a un certo punto mi sono trovata a dover trascrivere dei vincoli che esprimessero la seguente relazione logica:
date delle variabili binarie $x_1,...,x_n,y$, voglio che valga $\sum_{i=1}^n x_i \geq 1 \Rightarrow y=1$.
Io ho imparato solo a trascrivere vincoli che esprimano relazioni del tipo $\sum_{i=1}^n x_i = 1 \Rightarrow y=1$, ma con il $\geq$ non so come comportarmi.
Suggerimenti?
[EDIT]
potrebbe essere corretto scrivere qualcosa del genere: $\sum_{i=1}^n x_i/n \leq y \leq \sum_{i=1}^n x_i/n+1$?
Risposte
Se il problema prevede poi la minimizzazione della y e questa fosse binaria allora potresti pensare ad una cosa del tipo:
$ sum_{i=0}^{n}x_i-1
$y in {0,1}$
$M-> + oo$
Dove M è semplicemente uno scalare "grande a sufficienza".
$ sum_{i=0}^{n}x_i-1
$M-> + oo$
Dove M è semplicemente uno scalare "grande a sufficienza".
Intanto grazie della risposta.
Nel mio problema avevo tanti vincoli di questo tipo è la funzione obiettivo conteneva solo alcune delle variabili che svolgono il ruolo che qui ho dato alla y. Quindi in generale il problema non le minimizza tutte.
Posso chiederti se la mia formulazione è sbagliata (e perché) o se è solo inutilmente complicata?
Nel mio problema avevo tanti vincoli di questo tipo è la funzione obiettivo conteneva solo alcune delle variabili che svolgono il ruolo che qui ho dato alla y. Quindi in generale il problema non le minimizza tutte.
Posso chiederti se la mia formulazione è sbagliata (e perché) o se è solo inutilmente complicata?
Mi sembra che quei due vincoli effettivamente funzionino.
In generale il fatto che $y$ non sia esplicitamente nella f.o. obiettivo non cambia nulla. Devi vedere come la minimizzazione/massimizzazione della f.o. incide sul comportamento di y, in base ad altre dipendenze che ci saranno (ci devono essere altrimenti il vincolo non ti servirebbe a nulla).
In generale il fatto che $y$ non sia esplicitamente nella f.o. obiettivo non cambia nulla. Devi vedere come la minimizzazione/massimizzazione della f.o. incide sul comportamento di y, in base ad altre dipendenze che ci saranno (ci devono essere altrimenti il vincolo non ti servirebbe a nulla).
Ok, grazie mille
