
Strumento Di Ottimizzazione
Lo strumento di ottimizzazione risolve la programmazione lineare (LP), la programmazione lineare mista intera (MILP) e i problemi di ottimizzazione della programmazione quadratica (QP) utilizzando le modalità di input matrice, manuale e file.
Questo strumento utilizza lo strumento R. Vai a Opzioni > Scarica strumenti predittivi e accedi al portale Alteryx Downloads and Licenses per installare R e i pacchetti utilizzati dallo strumento R. Consultate Scaricare e utilizzare gli strumenti predittivi.
Che cos'è ottimizzazione?
L'ottimizzazione ha ampie applicazioni in molti settori, come la catena di fornitura, i trasporti, i servizi finanziari, la vendita al dettaglio, le telecomunicazioni e l'energia. Le aree di applicazione includono l'ottimizzazione della catena di fornitura, l'ottimizzazione dell'assortimento, l'ottimizzazione del portafoglio, la pianificazione della forza lavoro e la programmazione sportiva.
Un problema di ottimizzazione ha in genere la seguente forma matematica, costituita da una funzione oggettiva (prima equazione), un insieme di vincoli (seconda equazione) e una specifica dei tipi (continua, intera, binaria) e limiti della decisione variabili (terza equazione). L'obiettivo è in genere quello di trovare i valori delle variabili decisionali che massimizzano o riducono al minimo l'obiettivo, soddisfacendo al contempo tutti i vincoli, i tipi e i limiti sottostanti.
Collegare gli Input
Non sono necessari input per le modalità di input manuale o file. Per la modalità di input della matrice, gli ingressi O e A sono obbligatori, ma B e Q sono facoltativi.
- O ancoraggio: (Obbligatorio per la modalità di input della matrice) Utilizzare questo input per fornire i nomi delle variabili decisionali, i relativi coefficienti nella funzione obiettivo e, facoltativamente, i limiti e i tipi.
- variabile: (Obbligatorio) una stringa, nomi di variabili decisionali. Corrisponde a x nelle equazioni.
- coefficiente: (Obbligatorio) un numero, coefficiente di ogni variabile decisionale nella funzione oggettiva. Corrisponde a c.
- lb: (Facoltativo) un numero, limite inferiore della variabile decisionale. Il valore predefinito è 0.The default value is 0.
- ub: (Facoltativo) un numero, limite superiore della variabile decisionale. Il valore predefinito è Inf (infinito positivo).
- type: (Facoltativo) un carattere, il tipo della variabile decisionale, che può essere C (continua), B (binario) o I (integer). Il valore predefinito è C.
A partire da Designer 11.0, è possibile abilitare l'opzione Visualizza mapping campi per L'ancoraggio input O per una maggiore flessibilità con i nomi dei campi.
- Un ancoraggio: (Obbligatorio per la modalità di input della matrice) Utilizzare questo input per fornire la matrice di vincoli corrispondente ad A nelle equazioni. È possibile organizzare la matrice in due modi diversi:
- Matrice densa:
- Vincoli nelle righe: Ogni riga corrisponde a un vincolo. Il primo campo può facoltativamente essere denominato constraint per indicare il nome del vincolo in ogni riga, mentre i nomi di campo rimanenti devono corrispondere alle variabili decisionali definite in O. Inoltre, è possibile includere i campi dir e rhs per eseguire il roll dell'input B in questo.
- Esempio
Se le equazioni di vincolo sono: x 4 e x , y , 1 , i seguenti sono tutti input legittimi per l'input A:
Con campo vincolo:vincolo x y Z 1 c1 1 2 3 2 c2 (in questo modo) 1 1 0 Senza campo vincolo:
variabile c1 c2 (in questo modo) 1 x 1 1 2 y 2 1 3 Z 3 0 Compresi dir e rhs:
x y Z dir rhs 1 1 2 3 4 2 1 1 0 >= 1
- Esempio
- Variabili nelle righe: Ogni riga corrisponde a una variabile. Il primo campo deve essere denominato variabile, mentre i nomi di campo rimanenti devono corrispondere ai nomi dei vincoli. Si noti che questo corrisponde alla trasposizione della matrice A nelle equazioni precedenti.
L'ordine delle variabili per l'input O e l'input A deve essere lo stesso.- Esempio:
Di seguito è riportato un input legittimo per l'input A:variabile c1 c2 (in questo modo) 1 x 1 1 2 y 2 1 3 Z 3 0 A partire dalla finestra di progettazione 11.0, è possibile utilizzare altri nomi di campo per "vincolo" o "variabile" e lo strumento Ottimizzazione deduce in modo intelligente quale campo contiene vincoli e quale campo contiene variabili. Tuttavia, la convenzione di denominazione è ancora preferibile e consigliato.
- Esempio:
- Vincoli nelle righe: Ogni riga corrisponde a un vincolo. Il primo campo può facoltativamente essere denominato constraint per indicare il nome del vincolo in ogni riga, mentre i nomi di campo rimanenti devono corrispondere alle variabili decisionali definite in O. Inoltre, è possibile includere i campi dir e rhs per eseguire il roll dell'input B in questo.
- Matrice sparsa: Per set di vincoli più grandi, è possibile specificare la matrice A nella forma SLAM. È costituito da tre campi obbligatori i, je v, dove i e j sono rispettivamente indici di riga e colonna e v è il valore diverso da zero dell'elemento della matrice. La modalità matrice sparse presuppone sempre vincoli nelle righe.
- Matrice densa:
- Ancoraggio B: (Obbligatorio se non è già disponibile in A) Utilizzare questo input per fornire il nome, la direzione e il lato destro dei vincoli.
- constraint: (Facoltativo) una stringa, nome del vincolo.
- dir: una stringa, direzione della disuguaglianza del vincolo. Deve essere la >,= or ==.>
- rhs: un numero, il lato destro della disuguaglianza, corrispondente a b.
- Ancoraggio Q: Facoltativo. Utilizzare questo input per fornire la parte quadratica della funzione obiettivo, per problemi di programmazione quadratica. Corrisponde a Q nelle equazioni. È possibile specificarlo come matrice densa o come matrice di tipo sparse.
- Matrice densa: I nomi dei campi devono corrispondere ai nomi delle variabili decisionali definiti in O.
- Matrice di tiposparse : i nomi dei campi sono i, je v, dove i e j sono rispettivamente indici di riga e di colonna e v è il valore diverso da zero dell'elemento della matrice associato.
Modalità di input
Selezionare il modello come matrici
La modalità matrice supporta matrici dense o sparse.de). Gli ingressi O e A sono necessari per la modalità di input della matrice.
Selezionare il tipo di problema:
- Programma lineare: (Default)(LP) Vincoli obiettivo lineare e lineare con variabili decisionali continue.
- Mixed Integer Program: (MILP) Vincoli obiettivo lineare e lineare con variabili decisionali binarie o intere insieme a variabili decisionali continue.
- Programma Quadratico: (QP) Obiettivi quadratici e vincoli lineari con variabili decisionali continue.
Selezionare il risolutore:
- Glpk: (predefinito) per programmi lineari e programmi lineari misti
- Sinfonia: Per programmi lineari e programmi Mist Integer. Di solito funziona meglio di Glpk per MILP.
- Quadprog: Per i programmi quadratici.
Massimizza l'obiettivo?: Attivare questa opzione se si desidera massimizzare la funzione obiettivo. In caso contrario, lo strumento riduce al minimo la funzione obiettivo.
Selezionare la modalità vincolo per Ancoraggio di input A: Per informazioni dettagliate, vedere Collegare gli input sopra.
- Matrice densa, vincoli in righe (impostazione predefinita)
- Matrice alta densità, variabili nelle righe
- Matrice sparsa (SLAM)
Il mapping dei campi di visualizzazione per l'ancora di ingresso O: (Facoltativo) Input O richiede le parole riservate variabile, coefficiente, lb, ubo tipo per i nomi dei campi della tabella di input. Se si utilizzano nomi di campo diversi o se i nomi dei campi contengono spazi vuoti iniziali o finali, si verificano errori. Attivando questa opzione, è possibile mappare i campi esistenti ai campi variabili, coefficiente, lb, ube type senza il passaggio aggiuntivo di utilizzare uno strumento di selezione per modificare i nomi dei campi.
Inserire il modello manualmente
Questa modalità offre un'interfaccia interattiva in cui è possibile specificare direttamente obiettivi e vincoli. L'analisi della sensibilità è disponibile per i problemi di programmazione lineare.
Seleziona tipo problema
- Programma lineare: (LP) Vincoli oggettivi e lineari lineari con variabili decisionali continue.
- Mixed Integer Program: (MILP) Vincoli obiettivo lineare e lineare con variabili decisionali binarie o intere insieme a variabili decisionali continue.
- Programma Quadratico: (QP) Obiettivi quadratici e vincoli lineari con variabili decisionali continue.
Selezionare risolutore: Glpk (per il programma lineare e il programma Misto Intero), Sinfonia (per il programma lineare e il programma Misto intero) o Quadprog (per il programma Quadratico).
Massimizza l'obiettivo?: Attivare questa opzione se si tratta di un problema di massimizzazione.
Elenco variabili :Specificare un elenco separato da virgole di nomi di variabili decisionali.
Obiettivo: Specificare una funzione obiettivo da massimizzare o ridurre al minimo.
Vincoli: Specificare i vincoli. Assicurarsi che tutte le variabili nel vincolo si trovino sul lato sinistro del segno di disuguaglianza/uguaglianza. (Ad esempio, il risolutore avrà esito negativo per il vincolo 2x> , y , ma verrà eseguito correttamente per il vincolo 2x-y>.4. Mentre entrambe le equazioni sono matematicamente equivalenti, la seconda soddisfa i requisiti del risolutore.)
Bounds & Types: Specificare i limiti e i tipi.
Specifica il modello da un file
Questa modalità supporta l'input di file di modello standard del settore.
Selezionare il tipodi file : CLPEX_LP, MathProgo MPS_Free.
Selezionare risolutore: Glpk (per il programma lineare e il programma Misto Intero), Sinfonia (per il programma lineare e il programma Misto intero) o Quadprog (per il programma Quadratico).
Seleziona file: Specificare un file di modello di ottimizzazione.
Visualizzare l'output
- Ancoraggio: questo output fornisce un dashboard interattivo della soluzione.
- Ancoraggio D: questo output è costituito da tre tabelle separate da pipe: riepilogo, variabili e vincoli. Possono essere utilizzati a monte nel flusso di lavoro per creare report e dashboard.
- Ancoraggio S: Si tratta di un semplice output di dati costituito da una singola tabella con il valore ottimale della funzione obiettivo e le variabili decisionali. Per i problemi costituiti solo da variabili decisionali binarie (0/1), questa tabella contiene solo i valori 1.