+
BONMIN / BONMINH BONMIN: Bonmin (Base Open-source non lineare misto programmazione intera) 0.9 è un risolutore open-source per mixedinteger programmazione non lineare (MINLPs), di cui alcune parti sono ancora in fase sperimentale. Il codice è stato sviluppato in un progetto congiunto di IBM e Carnegie Mellon University. Il responsabile del progetto COIN-OR per Bonmin è Pierre Bonami. Bonmin implementa cinque diversi algoritmi: - B-BB: un semplice algoritmo branch-and-bound basato sulla soluzione di un programma lineare continua in ogni nodo dell'albero di ricerca e la ramificazione su variabili - B-OA: un algoritmo di decomposizione basato esterno-approssimazione - B-QG: un algoritmo branch-and-cut basato esterno-approssimazione (da Quesada e Grossmann) - B-Ibrida: una base di algoritmi branch-and-cut ibrido esterno-approssimazione / programmazione non lineare (default) - B-ECP: un algoritmo branch-and-cut tagli ECP base a la FilMINT Gli algoritmi sono esatto in cui il problema è convessa, altrimenti sono euristica. Un nucleo di collegamento esiste e ha il nome risolutore BONMIND. BONMIN è stato precedentemente nominato COINBONMIN. BONMINH è una versione commercialmente con licenza che fa uso a disposizione dei solutori lineari MA27, MA57 e MA86 dalla subroutine biblioteca Harwell (HSL) in IPOPT. Manuale BONMIN utenti BONMIN & # x00A0; (base open-source non lineare programmazione intera mista) è un codice open-source per risolvere i problemi (Mixed Integer Programming) NonLinear MINLP generale. E 'distribuito su COIN-O & # x00A0; sotto la EPL (Eclipse Public License). L'EPL è una licenza approvata dalla OSI. (Open Source Initiative), quindi BONMIN & # x00A0; è OSI Certified Open Source Software. Ci sono diverse scelte algoritmiche che possono essere selezionati con BONMIN. B-BB è un algoritmo di branch-and-bound NLP-based, B-OA è un algoritmo di decomposizione esterno-approssimazione, B-iFP è un algoritmo pompa di fattibilità iterato, B-QG è un'implementazione di Quesada e Grossmann del ramo-e algoritmo di taglio, B-Hyb è un algoritmo branch-and-cut basato outer-approssimazione ibrida e B-ECP è una variante di B-QG basato sull'aggiunta di tagli ECP aggiuntivi. Alcune delle scelte algoritmiche richiedono la capacità di risolvere (misto Programmazione Lineare) problemi MILP e problemi di NLP (non lineare di programmazione). I solutori di default per questi sono, rispettivamente, la moneta-o codici Cbc & # x00A0 e Ipopt. A sua volta, utilizza Cbc ulteriormente COIN-OR moduli: Clp & # x00A0; (problemi per LP (programmazione lineare)), CGL & # x00A0; (per la generazione di piani di taglio MILP), così come varie altre utilità. E 'anche possibile fare un passo fuori della sfera open-source e utilizzare Cplex & # x00A0, come il risolutore MILP e FilterSQP come il risolutore NLP. Ulteriore documentazione può essere trovato sul Bonmin BONMIN & # x00A0; risolve MINLPs della forma g L & # x2264; g (x) & # x2264; GU. x L & # x2264; x & # x2264; x U. x & # x2208; & # X211D; n. x i & # x2208; & # X2124; & # X2200; i & # x2208; IO, dove le funzioni f. & # X00A0; & # X00A0; & # X2192; & # X00A0; & # X211D; e g. & # X00A0; & # X00A0; & # X2192; & # X00A0; & # X211D; m si presume essere due volte continuamente differenziabile, e I & # x2286; . Sottolineiamo che BONMIN & # x00A0, tratta i problemi che sono espressi in forma di minimizzazione. I diversi metodi che BONMIN & # x00A0; attrezzature sono algoritmi esatti quando le funzioni feg sono convesse, ma sono solo euristica quando questo non è il caso (cioè BONMIN & # x00A0, non è un ottimizzatore globale). BONMIN & # x00A0; implementa sei diversi algoritmi per risolvere MINLPs: B-BB. un semplice algoritmo branch-and-bound basato sulla soluzione di un programma lineare continua in ogni nodo dell'albero di ricerca e la ramificazione su variabili [Gupta del 1980]; permettiamo anche la possibilità di SOS (tipo 1) ramificazione BOA. un algoritmo di esterno-approssimazione basata decomposizione [Duran Grossmann 1986 Fletcher Leyffer 1994] B-QG. un algoritmo branch-and-cut basato esterno-approssimazione [Quesada Grossmann 1994] B-ibridazione. un algoritmo ibrido esterno-approssimazione / programmazione non lineare basato branch-and-cut [Bonami et al. 2008] B-ECP. un altro esterno-approssimazione basata branch-and-cut ispirato le impostazioni descritte in [Abhishek Leyffer Linderoth 2006] B-iFP. un algoritmo iterato pompa di fattibilità [Bonami Cornu & eacute; JOLS Lodi Margot 2009]. In questo manuale, non entreremo in un ulteriore descrizione di questi algoritmi. dettagli matematici di questi algoritmi e alcuni dettagli del loro implementazioni possono essere trovati in [Bonami et al. 2008] e [Bonami K ln c Linderoth 2009]. O se non siete interessati ai dettagli degli algoritmi, certamente vuole sapere che uno di questi sei algoritmi si dovrebbe scegliere per risolvere il problema particolare. Per MINLPs convessi, gli esperimenti che abbiamo fatto su un ragionevolmente grande insieme di test di problemi punto a favore dell'utilizzo di B-Ibrida (ha risolto la maggior parte dei problemi nella nostra serie di test in 3 ore di tempo di calcolo). Tuttavia, ci sono casi in cui B-OA è molto più veloce di B-Ibrida e altri in cui B-BB è interessante. B-QG e B-ECP corrispondono essenzialmente a una specifica impostazione dei parametri di B-Hyb ma possono essere più veloce in alcuni casi. B-IFP è più su misura a trovare rapidamente buone soluzioni a molto duro MINLP convessa. Per MINLPs non convessi, si consiglia vivamente di utilizzare B-BB (gli algoritmi esterno-approssimazione non sono stati adattati per trattare i problemi non convessi a questo punto). Sebbene anche B-BB è solo una euristica per questo tipo di problemi, abbiamo aggiunto diverse opzioni per cercare di migliorare la qualità delle soluzioni che fornisce (vedi opzioni non convesse). Perché è applicabile a più classi di problemi B-BB è l'algoritmo di default in BONMIN. Al fine di eseguire BONMIN. è necessario scaricare altre librerie esterne (e prestare attenzione alle loro licenze!): LAPACK (Linear Algebra pacchetto) Blas (Basic Linear Algebra subroutine) un risolutore lineare sparsa che è supportato da Ipopt, ad esempio, MA27 dalla HSL (Harwell Subroutine Library), la parotite, o Pardiso. Si noti che LAPACK e la Blas sono gratuiti per l'uso commerciale dal Netlib Repository. ma non sono OSI Certified Open Source Software. Il solutore MA27 lineare è disponibile gratuitamente per uso non commerciale. Il software di cui sopra è sufficiente per eseguire BONMIN & # x00A0, come uno stand-alone codice C ++, ma non fornisce un linguaggio di modellazione. Per la funzionalità da un linguaggio di modellazione, BONMIN & # x00A0; può essere invocato da AMPL (nessuna installazione supplementare è richiesto a condizione che si disponga di una copia con licenza di AMPL installata), anche se è necessario l'ASL (AMPL Solver Library), che è ottenibile dalla netLib. BONMIN & # x00A0; possono utilizzare FilterSQP [FletcherLeyffer1998] come alternativa al Ipopt & # x00A0; per risolvere NLP. Inoltre, nei metodi di approssimazione esterni B-OA e B-IFP. alcuni problemi MILP sono risolti. Per impostazione predefinita BONMIN & # x00A0; utilizza Cbc & # x00A0, per risolverli, ma può anche essere impostato per utilizzare il Cplex solutore commerciale. Manuale BONMIN utenti 0.1 scelta Algoritmo Algoritmo: scelta dell'algoritmo. Questo sarà preimpostata alcune delle opzioni di bonmin seconda della scelta dell'algoritmo. Il valore predefinito per questa opzione stringa è "B-BB". Valori possibili: B-BB: semplice algoritmo branch-and-bound, B-OA: OA decomposizione algoritmo, B-QG: Quesada e l'algoritmo Grossmann branch-and-cut, B-Ibrida: approssimazione esterna ibrida basata branch-and-cut, B-ECP: tagli ECP basato branch-and-tagliati a la FilMINT. B-iFP: iterata pompa di fattibilità per MINLP. 0.2 Opzioni di-and-bound ammissibile _fraction _gap: specificare il valore del gap relativo in base al quale l'algoritmo si arresta. Arrestare l'albero di ricerca quando la differenza tra il valore obiettivo della soluzione più noti e la migliore bound sull'obiettivo di qualsiasi soluzione è inferiore a questa frazione del valore assoluto del valore migliore soluzione nota. L'intervallo valido per questa vera e propria opzione è - 1 & # x22C5; 10 + 20 & # x2264; ammissibile _ _ frazione gap & # x2264; 1 & # x22C5; 10 + 20 e il suo valore di default è 0. _gap ammissibile: specificare il valore del gap assoluto in base al quale l'algoritmo si arresta. Arrestare l'albero di ricerca quando la differenza tra il valore obiettivo della soluzione più noti e la migliore bound sull'obiettivo di qualsiasi soluzione è inferiore a questo. L'intervallo valido per questa vera e propria opzione è - 1 & # x22C5; 10 + 20 & # x2264; ammissibile _ gap & # x2264; 1 & # x22C5; 10 + 20 e il suo valore di default è 0. cutoff: specificare il valore di cutoff. cutoff dovrebbe essere il valore di una soluzione ammissibile conosciuto dall'utente (se presente). L'algoritmo cercherà solo per le soluzioni migliori rispetto cutoff. L'intervallo valido per questa vera e propria opzione è - 1 & # x22C5; 10 +100 & # x2264; cutoff & # x2264; 1 & # x22C5; 10 +100 e il suo valore di default è 1 & # x22C5; 10 +100. _decr cutoff: specificare decremento di taglio. Specificare l'importo di cui taglio è decrementato di sotto di un nuovo migliore (di solito un piccolo valore positivo ma problemi non convessi può essere un valore negativo) upper bound. L'intervallo valido per questa vera e propria opzione è - 1 & # x22C5; 10 + 10 & # x2264; cutoff _ dim & # x2264; 1 & # x22C5; 10 + 10 e il suo valore di default è 1 & # x22C5; 10 - 05. consentire _nlp _dynamic: Attivare lineare dinamico e quadratica aggiunta righe in NLP Il valore di default per questa opzione di una stringa è "no". Valori possibili: no sì intero _tolerance: Impostare la tolleranza intero. Qualsiasi numero all'interno di quel valore di un numero intero è considerato intero. L'intervallo valido per questa vera e propria opzione è 0 & # x003C; integer _ tolleranza & # x003C; + Inf e il suo valore di default è 1 & # x22C5; 10-06. iterazione _limit: impostare il numero massimo cumulativo di iterazione l'algoritmo utilizzato per elaborare i nodi rilassamenti continui nel ramo-and-bound. valore 0 disattiva l'opzione. L'intervallo valido per questa opzione intero è 0 & # x2264; iterazione _ limite & # x003C; + Inf e il suo valore di default è 2147483647. NLP _failure _behavior: Impostare il comportamento quando un NLP o una serie di NLP sono irrisolti da Ipopt (che noi chiamiamo irrisolto un PNL per il quale Ipopt non è in grado di garantire l'ottimalità entro le tolleranze specificate). Se è impostato su "Fathom", l'algoritmo a capire il nodo quando Ipopt non riesce a trovare una soluzione al PNL a quel nodo entro le tolleranze specificate. L'algoritmo diventa allora una euristica, e l'utente sarà avvertito che la soluzione potrebbe non essere ottimale. Il valore predefinito per questa opzione di una stringa è "fermata". Valori possibili: fermare: Fermarsi quando fallimento accade. capire: Continua quando fallimento accade. nodo _comparison: Scegliere la strategia di selezione del nodo. Scegliere la strategia di selezione il successivo nodo da elaborare. Il valore predefinito per questa opzione stringa è "best-bound". Valori possibili: più legato: Scegliere un nodo con il più piccolo limite, in profondità: eseguire ricerca in profondità, breadth-first: eseguire ricerca in ampiezza, dinamica: strategia dinamica Cbc (inizia con una ricerca in profondità e girare al meglio il legato dopo soluzioni fattibili 3 interi sono stati trovati). best-indovinare: scegliere il nodo con la più piccola soluzione intera intuito nodo _limit: impostare il numero massimo di nodi esplorati nella ricerca branch-and-bound. L'intervallo valido per questa opzione intero è 0 & # x2264; nodo _ limite & # x003C; + Inf e il suo valore di default è 2147483647. num _passes _cut: imposta il numero massimo di taglio passa in corrispondenza dei nodi regolari del branch-and-cut. L'intervallo valido per questa opzione intero è 0 & # x2264; num _ _ taglio passa & # x003C; + Inf e il suo valore predefinito è 1. _passes num _cut _at _root: imposta il numero massimo di taglio passa in corrispondenza dei nodi regolari del branch-and-cut. L'intervallo valido per questa opzione intero è 0 & # x2264; num _ _ taglio passa _ _ a radice & # x003C; + Inf e il suo valore predefinito è 20. numero _before _trust: Impostare il numero di rami su una variabile prima che i suoi costi pseudo si deve credere nella dinamica forte ramificazione. Un valore pari a 0 disabilita costi pseudo. L'intervallo valido per questa opzione intero è 0 & # x2264; numero _ _ prima fiducia & # x003C; + Inf e il suo valore predefinito è 8. numero _strong _branch: Scegliere il numero massimo di variabili considerate per una forte ramificazione. Impostare il numero di variabili su cui fare forte ramificazione. L'intervallo valido per questa opzione intero è 0 & # x2264; numero _ _ forte ramo & x003C #; + Inf e il suo valore predefinito è 20. casuale _generator _seed: Imposta seme per il generatore di numeri casuali (un valore di set -1 semi di tempo da quando Epoch). L'intervallo valido per questa opzione intero è - 1 & # x2264; casuale _ _ generatore seme & x003C #; + Inf e il suo valore di default è 0. Leggere _solution _file: Leggere un file con la soluzione ottimale per verificare se gli algoritmi tagli esso. Solo a scopo di debug. Il valore predefinito per questa opzione di una stringa è "no". Valori possibili: no sì soluzione _limit: Interruzione dopo che gran numero intero soluzione fattibile sono stati trovati per valore algoritmo 0 disattiva l'opzione L'intervallo valido per questa opzione intero è 0 & # x2264; soluzione _ limite & # x003C; + Inf e il suo valore di default è 2147483647. _constraints sos: Se attivare o meno vincoli SOS. (Solo tipo 1 SOS sono supportati al momento) Il valore predefinito per questa opzione di una stringa è "attiva". Valori possibili: consentire disabilitare tempo _limit: impostare il tempo di calcolo globale massimo (in secondi) per l'algoritmo. L'intervallo valido per questa vera e propria opzione è 0 & # x2264; tempo _ limite & # x003C; + Inf e il suo valore di default è 1 & # x22C5; 10 + 10. albero _search _strategy: scegliere una strategia per attraversare l'albero Tutte le strategie possono essere utilizzati in combinazione con una qualsiasi delle funzioni di confronto nodo. Opzioni che influenzano DFS-dive sono max-Backtracks-in-dive e max-dive-profondità. Il DFS-dive non funziona in un problema non convesso cui obiettivo non diminuisce verso il basso i rami. Il valore predefinito per questa opzione stringa è "-dive sondato". Valori possibili: top-nodo: scegliere sempre il nodo superiore, come ordinato dalla funzione di confronto nodo immersioni: immersione nella struttura ad albero, se possibile, altrimenti top pick nodo come ordinato dalla funzione di confronto albero. sondato-dive: Immersione nella struttura di esplorare due figli prima di continuare l'immersione ad ogni livello. DFS-dive: Immersione nella struttura ad albero, se possibile, facendo una ricerca in profondità. Marcia indietro sulle foglie o quando una profondità prescritta è raggiunta o quando stima migliore intero soluzione fattibile possibile in sottostruttura è peggio di taglio. Una volta che un limite prescritto di Backtracks si ottiene top pick nodo come ordinato dalla funzione di confronto albero DFS-dive-dinamica: come DFS-dive, ma una volta che la soluzione abbastanza si trovano l'interruttore al meglio il-bound e se troppi nodi passare a in profondità. _selection variabile: sceglie la strategia di selezione delle variabili Il valore predefinito per questa opzione stringa è "forte-ramificazione". Valori possibili: la maggior parte frazionaria: Scegli più variabile frazionaria forte ramificazione: Eseguire forte ramificazione affidabilità-ramificazione: Usa ramificazione affidabilità qp-forte-ramificazione: Eseguire forte ramificazione con QP approssimazione lp-forte-ramificazione: Eseguire forte ramificazione con LP approssimazione NLP-forte-ramificazione: Eseguire forte ramificazione con la PNL approssimazione OSI-semplice: il metodo Osi fare semplice ramificazione OSI-forte: il metodo Osi fare forte ramificazione casuale: Metodo di scegliere ramificazione variabile casuale 0.3 ECP taglia generazione ECP _abs _TOL: Impostare la tolleranza di terminazione assoluto per ECP arrotonda. L'intervallo valido per questa vera e propria opzione è 0 & # x2264; ECP _ _ abs Tol & x003C #; + Inf e il suo valore di default è 1 & # x22C5; 10-06. ECP _max _rounds: impostare il numero massimo di giri di tagli ECP. L'intervallo valido per questa opzione intero è 0 & # x2264; ECP _ _ max giri & # x003C; + Inf e il suo valore di default è 5. ECP _probability _FACTOR: fattore che compare nella formula per saltare tagli ECP. La scelta -1 disabilita il salto. L'intervallo valido per questa vera e propria opzione è - inf & # x003C; ECP _ _ probabilità fattore & x003C #; + Inf e il suo valore predefinito è 10. ECP _rel _TOL: Impostare la tolleranza di terminazione relativo per ECP arrotonda. L'intervallo valido per questa vera e propria opzione è 0 & # x2264; ECP _ _ rel Tol & x003C #; + Inf e il suo valore di default è 0. filmint _ecp _cuts: specificare la frequenza (in termini di nodi) in cui alcuni a la filmint ECP tagli vengono generati. Una frequenza di 0 è pari a quello di non risolvere il rilassamento NLP. L'intervallo valido per questa opzione intero è 0 & # x2264; filmint _ _ ECP tagli & # x003C; + Inf e il suo valore di default è 0. 0.4 correttore di fattibilità con tagli OA feas _check _types _cut: Scegliere il tipo di tagli generati quando una soluzione fattibile intero viene trovata Se sembra troppa memoria viene utilizzato dovrebbe cercare Benders di utilizzare meno il valore di default per questa opzione stringa è "esterno-ca". Valori possibili: esterno-ca: generare un insieme di tagli esterni approssimativi. Benders: Genera un unico taglio Benders. feas _check _discard _Policy: come tagli da correttore di fattibilità vengono scartate Normalmente per evitare tagli del ciclo di controllo di fattibilità non devono essere scartati nel nodo in cui si generano. Tuttavia Cbc a volte lo fa se non si cura che può portare a un ciclo infinito in Bonmin (di solito sui problemi semplici). Per evitare che questo si può istruire Cbc mai scartare un taglio, ma se lo facciamo per tutti i tagli può portare a problemi di memoria. Il criterio predefinito è quello di rilevare i cicli e solo allora imporre alla Cbc per mantenere il taglio. Gli altri due sono alternative per istruire Cbc per mantenere tutti i tagli o di ignorare semplicemente il problema e sperare per il meglio Il valore predefinito per questa opzione di una stringa è "Rileva-cicli". Valori possibili: rilevare-cicli: Rilevare se si verifica un ciclo e solo in questo caso la forza di non scartare. keep-tutto: Forza taglia da correttore di fattibilità non deve essere scartata (memoria fame, ma a volte meglio). trattati-as-normale: Tagli di controllo della memoria possono essere scartati come tutti gli altri tagli (codice può allora ciclo) generare _benders _after _so _many _oa: specificare che dopo tanti tagli OA sono stati generati tagli Benders devono essere generati, invece. Sembra che talvolta generare troppi tagli OA rallenta l'ottimizzazione rispetto al Benders causa delle dimensioni del LP. Con questa opzione si precisa che dopo tanti tagli OA sono stati generati dovremmo passare a tagli Benders. L'intervallo valido per questa opzione intero è 0 & # x2264; generare _ _ piegatrici dopo _ _ così tanti _ OA & x003C #; + Inf e il suo valore di default è 5000. 0.5 MILP Solver cpx _parallel _strategy: Strategia di modalità di ricerca parallelo CPLEX. -1 = Opportunistica, 0 = automatico, 1 = deterministico (fare riferimento alla documentazione CPLEX) L'intervallo valido per questa opzione intero è - 1 & # x2264; cpx _ _ parallelo strategia & # x2264; 1 e il suo valore di default è 0. MILP _solver: Scegliere il subsolver per risolvere MILP sotto-problemi in decomposizioni OA. Per utilizzare Cplex, una licenza valida è necessario e si dovrebbe avere compilato OsiCpx in COIN-OR (vedi documentazione OSI). Il valore predefinito per questa opzione di una stringa è "Cbc_D". Valori possibili: Cbc_D: Coin Branch e taglio con il suo default Cbc_Par: Coin Branch e taglio con parametri passati Cplex: IBM CPLEX MILP _strategy: scegliere una strategia per MILPs. Il valore predefinito per questa opzione di una stringa è "solve_to_optimality". Valori possibili: find_good_sol: Stop milps sub quando viene trovata una soluzione migliorare l'operatore storico solve_to_optimality: risolvere MILPs a ottimalità numero _cpx _threads: Imposta il numero di thread da utilizzare con CPLEX. (Fare riferimento alla documentazione CPLEX) L'intervallo valido per questa opzione intero è 0 & # x2264; numero _ _ cpx discussioni & # x003C; + Inf e il suo valore di default è 0. 0,6 MILP piani di taglio in algoritmo ibrido 2mir _cuts: frequenza (in termini di nodi) per la generazione di tagli 2-MIR in branch-and-cut Se k & # x003E; 0, i tagli sono generati ogni k nodi, se - 99 & # x003C; k & # x003C; 0 tagli vengono generati ogni - k nodi ma Cbc può decidere di fermare la generazione di tagli, se non bastasse sono generati in corrispondenza del nodo principale, se k = - 99 generano tagli solo al nodo principale, se k = 0 o 100 non generano tagli . L'intervallo valido per questa opzione intero è - 100 & # x2264; 2 mir _ tagli & # x003C; + Inf e il suo valore di default è 0. Gomory _cuts: Frequenza (in termini di nodi) per la generazione di tagli Gomory a branch-and-cut. Se k & # x003E; 0, i tagli sono generati ogni k nodi, se - 99 & # x003C; k & # x003C; 0 tagli vengono generati ogni - k nodi ma Cbc può decidere di fermare la generazione di tagli, se non bastasse sono generati in corrispondenza del nodo principale, se k = - 99 generano tagli solo al nodo principale, se k = 0 o 100 non generano tagli . L'intervallo valido per questa opzione intero è - 100 & # x2264; Gomory _ tagli & # x003C; + Inf e il suo valore di default è - 5. _cuts cricca: frequenza (in termini di nodi) per la generazione di tagli cricca in branch-and-cut Se k & # x003E; 0, i tagli sono generati ogni k nodi, se - 99 & # x003C; k & # x003C; 0 tagli vengono generati ogni - k nodi ma Cbc può decidere di fermare la generazione di tagli, se non bastasse sono generati in corrispondenza del nodo principale, se k = - 99 generano tagli solo al nodo principale, se k = 0 o 100 non generano tagli . L'intervallo valido per questa opzione intero è - 100 & # x2264; cricca _ tagli & # x003C; + Inf e il suo valore di default è - 5. _cuts copertura: frequenza (in termini di nodi) per la generazione di tagli copertura in branch-and-cut Se k & # x003E; 0, i tagli sono generati ogni k nodi, se - 99 & # x003C; k & # x003C; 0 tagli vengono generati ogni - k nodi ma Cbc può decidere di fermare la generazione di tagli, se non bastasse sono generati in corrispondenza del nodo principale, se k = - 99 generano tagli solo al nodo principale, se k = 0 o 100 non generano tagli . L'intervallo valido per questa opzione intero è - 100 & # x2264; coprire _ tagli & # x003C; + Inf e il suo valore di default è 0. flusso _cover _cuts: Frequenza (in termini di nodi) per la generazione di tagli Cover Flow in branch-and-cut Se k & # x003E; 0, i tagli sono generati ogni k nodi, se - 99 & # x003C; k & # x003C; 0 tagli vengono generati ogni - k nodi ma Cbc può decidere di fermare la generazione di tagli, se non bastasse sono generati in corrispondenza del nodo principale, se k = - 99 generano tagli solo al nodo principale, se k = 0 o 100 non generano tagli . L'intervallo valido per questa opzione intero è - 100 & # x2264; flusso _ _ copertura tagli & # x003C; + Inf e il suo valore di default è - 5. ascensore _e _cuts _project: frequenza (in termini di nodi) per la generazione di tagli lift-and-progetto in branch-and-cut Se k & # x003E; 0, i tagli sono generati ogni k nodi, se - 99 & # x003C; k & # x003C; 0 tagli vengono generati ogni - k nodi ma Cbc può decidere di fermare la generazione di tagli, se non bastasse sono generati in corrispondenza del nodo principale, se k = - 99 generano tagli solo al nodo principale, se k = 0 o 100 non generano tagli . L'intervallo valido per questa opzione intero è - 100 & # x2264; sollevare _ e _ progetto _ tagli & # x003C; + Inf e il suo valore di default è 0. mir _cuts: Frequenza (in termini di nodi) per la generazione di tagli MIR a branch-and-cut Se k & # x003E; 0, i tagli sono generati ogni k nodi, se - 99 & # x003C; k & # x003C; 0 tagli vengono generati ogni - k nodi ma Cbc può decidere di fermare la generazione di tagli, se non bastasse sono generati in corrispondenza del nodo principale, se k = - 99 generano tagli solo al nodo principale, se k = 0 o 100 non generano tagli . L'intervallo valido per questa opzione intero è - 100 & # x2264; mir _ tagli & # x003C; + Inf e il suo valore di default è - 5. ridurre _cuts _split _E: Frequenza (in termini di nodi) per la generazione di tagli ridurre-e-split in branch-and-cut Se k & # x003E; 0, i tagli sono generati ogni k nodi, se - 99 & # x003C; k & # x003C; 0 tagli vengono generati ogni - k nodi ma Cbc può decidere di fermare la generazione di tagli, se non bastasse sono generati in corrispondenza del nodo principale, se k = - 99 generano tagli solo al nodo principale, se k = 0 o 100 non generano tagli . L'intervallo valido per questa opzione intero è - 100 & # x2264; ridurre _ e _ _ Split tagli & # x003C; + Inf e il suo valore di default è 0. 0,7 interfaccia NLP NLP _solver: Scelta del risolutore per ottimi locali della nota continua di NLP questa opzione funziona solo se il risolutore specificato è stato installato. Ipopt di solito è installato con Bonmin per impostazione predefinita. Per FilterSQP vedere http://www-unix. mcs. anl. gov/ leyffer/solvers. html su come ottenerlo e https://projects. coin-or. org/Bonmin/wiki/HintTricks su come configurare Bonmin di usarlo. Il valore predefinito per questa opzione di una stringa è "Ipopt". Valori possibili: Ipopt: Interior Point Optimizer (https://projects. coin-or. org/Ipopt) filterSQP: sequenziale regione algoritmo di programmazione quadratica fiducia (http://www-unix. mcs. anl. gov/ leyffer/solvers. html) tutto: eseguire tutti i solutori disponibili presso ogni nodo _start caldo: Selezionare il metodo di avvio a caldo Questo influenzerà la funzione getWarmStart (), e di conseguenza il caldo di partenza nei vari algoritmi. Il valore predefinito per questa opzione stringa è "nessuno". Valori possibili: Nessuno: No avvio a caldo, basta iniziare NLP dalla soluzione ottimale del rilassamento radice fake_basis: costruisce basi falso, utili per la gestione taglio Cbc (avviamento a caldo è lo stesso come in nessuno) ottimale: inizio caldo con ottima controllante diretta interior_point: inizio caldo con un punto interno di controllante diretta 0,8 NLP soluzione robustezza max _consecutive _failures: (rimosso temporaneamente) Numero n di problemi irrisolti consecutivi prima interruzione di un ramo dell'albero. Quando n & # x003E; 0, continuare ad esplorare un ramo dell'albero fino a quando i problemi n consecutivi nel ramo sono irrisolti (che noi chiamiamo irrisolto un problema per il quale Ipopt non può garantire l'ottimalità entro le tolleranze specificate). L'intervallo valido per questa opzione intero è 0 & # x2264; max _ _ consecutivi fallimenti & # x003C; + Inf e il suo valore predefinito è 10. max _random _point _radius: Imposta il valore massimo r per coordinata di un punto casuale. Quando scegliere un punto casuale, coordinare sarò nell'intervallo [min (max (l, r), ur), max (min (u, r), L + R)] (dove l è il limite inferiore per la variabile e U è il suo limite) L'intervallo valido superiore per questa vera e propria opzione è 0 & # x003C; max _ _ casuale punto _ raggio & x003C #; + Inf e il suo valore di default è 100000. num _iterations _suspect: numero di iterazioni su cui un nodo è considerato "sospetto" (solo per scopi di debug, vedere la documentazione dettagliata). Quando il numero di iterazioni per risolvere un nodo è superiore a questo numero, il sottoproblema in questo nodo è considerato sospetto e sarà scritto in un file (impostare a -1 per disattivare questo). L'intervallo valido per questa opzione intero è - 1 & # x2264; num _ _ iterazioni sospetto & x003C #; + Inf e il suo valore di default è - 1. num _retry _unsolved _random _point: Numero k di volte che l'algoritmo cercherà di risolvere un NLP irrisolto con un punto di partenza casuale (che noi chiamiamo irrisolto un PNL per il quale Ipopt non è in grado di garantire l'ottimalità entro le tolleranze specificate). Quando Ipopt non riesce a risolvere un continuo NLP sub-problema, se k & # x003E; 0, l'algoritmo tenterà di nuovo di risolvere il NLP fallito con k nuovi punti di partenza scelti a caso o fino a quando il problema è risolto con successo. L'intervallo valido per questa opzione intero è 0 & # x2264; num _ _ tentativi irrisolto _ _ casuale punto & # x003C; + Inf e il suo valore di default è 0. _point casuale _perturbation _interval: Valore del quale punto di partenza è turbato quando si sceglie di prendere punto casuale perturbando punto di partenza L'intervallo valido per questa vera e propria opzione è 0 & # x003C; casuale _ punto _ _ perturbazione intervallo & x003C #; + Inf e il suo valore predefinito è 1. casuale _point _type: metodo per scegliere un punto di partenza casuale Il valore predefinito per questa opzione stringa è "Jon". Valori possibili: Jon: Scegliere punto casuale uniforme tra i limiti Andreas: perturbano il punto di partenza del problema entro un intervallo prescritto Claudia: perturbare il punto di partenza utilizzando le informazioni di perturbazione del raggio suffisso risolvere _ON _Small _infeasibility: Se un problema a livello locale irrealizzabile è praticamente impossibile da meno di questo, risolve con punto di partenza iniziale. Si è impostato su 0 per default con Ipopt. Quando si utilizza FilterSQP, Bonmin imposta su un valore basso. L'intervallo valido per questa vera e propria opzione è 0 & # x2264; risolvere _ su _ _ piccolo infeasibility & x003C #; + Inf e il suo valore di default è 0. 0.9 NLP risolve in algoritmo ibrido (B-ibridazione) NLP _solve _Frequenza: specificare la frequenza (in termini di nodi) in cui rilassamenti NLP sono risolti in B-ibridazione. Una frequenza di 0 è pari a quello di non risolvere il rilassamento NLP. L'intervallo valido per questa opzione intero è 0 & # x2264; nlp _ _ risolvere frequenza & # x003C; + Inf e il suo valore predefinito è 10. nlp _solve _max _depth: Situato massima profondità nella struttura in cui rilassamenti NLP sono risolti in B-ibridazione. Una profondità di 0 è pari a quello di non risolvere il rilassamento NLP. L'intervallo valido per questa opzione intero è 0 & # x2264; nlp _ _ risolvere max _ profondità & x003C #; + Inf e il suo valore predefinito è 10. nlp _solves _PER _depth: Imposta il numero medio di nodi nella struttura in cui rilassamenti NLP sono risolti in B-Ibrida per ogni profondità. L'intervallo valido per questa vera e propria opzione è 0 & # x2264; nlp _ _ risolve per _ profondità & x003C #; + Inf e il suo valore di default è 1 & # x22C5; 10 +100. 0.10 problemi non convessi coeff _var _threshold: Coefficiente di soglia di variazione (per la definizione dinamica di cutoff_decr). L'intervallo valido per questa vera e propria opzione è 0 & # x2264; coeff _ _ var soglia & # x003C; + Inf e il suo valore predefinito è 0. 1. dinamica _def _cutoff _decr: Volete definire il parametro cutoff_decr in modo dinamico? Il valore predefinito per questa opzione di una stringa è "no". Valori possibili: no sì prima _perc _per _decr _cutoff: La percentuale utilizzato quando il coeff della varianza è inferiore alla soglia, per calcolare la cutoff_decr dinamicamente. L'intervallo valido per questa vera e propria opzione è - inf & # x003C; prima _ _ perc per _ _ taglio dim & x003C #; + Inf e il suo valore di default è - 0. 02. max _consecutive _infeasible: Numero di sottoproblemi irrealizzabili consecutivi prima interruzione di un ramo. Continuerà ad esplorare un ramo dell'albero fino a quando "max_consecutive_infeasible" problemi consecutivi sono localmente fattibile dal sub-risolutore NLP. L'intervallo valido per questa opzione intero è 0 & # x2264; max _ _ consecutivo irrealizzabile & # x003C; + Inf e il suo valore di default è 0. num _resolve _at _infeasibles: numero k di tentativi per risolvere un nodo non fattibile (altro rispetto alla radice) dell'albero con diverso punto di partenza. L'algoritmo risolverà tutti i nodi irrealizzabili con k diversi punti di partenza casuale e non mancherà di tenere i migliori ottimo locale trovato. L'intervallo valido per questa opzione intero è 0 & # x2264; num _ volontà _ a _ infeasibles & # x003C; + Inf e il suo valore di default è 0. num _resolve _at _node: numero k di tentativi per risolvere un nodo (altro rispetto alla radice) dell'albero con diverso punto di partenza. L'algoritmo risolverà tutti i nodi con k diversi punti di partenza casuale e non mancherà di tenere i migliori ottimo locale trovato. L'intervallo valido per questa opzione intero è 0 & # x2264; num _ volontà _ a _ nodo & x003C #; + Inf e il suo valore di default è 0. num _resolve _at _root: numero k di tentativi per risolvere il nodo radice con diversi punti di partenza. L'algoritmo risolverà il nodo principale con k punti di partenza casuale e non mancherà di tenere i migliori ottimo locale trovato. L'intervallo valido per questa opzione intero è 0 & # x2264; num _ volontà _ a _ radice & x003C #; + Inf e il suo valore di default è 0. secondo _perc _per _decr _cutoff: La percentuale utilizzato quando il coeff di varianza è maggiore della soglia, per calcolare la cutoff_decr dinamicamente. L'intervallo valido per questa vera e propria opzione è - inf & # x003C; secondo _ _ perc per _ _ taglio dim & x003C #; + Inf e il suo valore di default è - 0. 05. 0,11 Outer Approssimazione di decomposizione (B-OA) OA _decomposition: Se sì fare decomposizione OA iniziale Il valore predefinito per questa opzione di una stringa è "no". Valori possibili: no sì 0.12 esterno Approssimazione taglia generazione aggiungere _oa _una _violated: possiamo aggiungere tutti i tagli OA o solo quelli violati dal punto corrente? Il valore predefinito per questa opzione di una stringa è "no". Valori possibili: no: Aggiungere tutti i tagli Sì: Aggiungere tagli solo violati _cuts OA _scope: specificare se i tagli OA aggiunti devono essere impostati a livello globale o locale valida Il valore predefinito per questa opzione stringa è "globale". Valori possibili: locali: tagli sono considerati validi a livello locale globali: I tagli devono essere considerati validi a livello globale sì no no sì no sì no sì no sì no sì no sì no sì no sì
No comments:
Post a Comment