Per un problema di fattibilità LP, non userei simplex standard. Gli algoritmi simplex primari standard (o doppi) visiteranno solo i vertici dell'insieme realizzabile dei problemi primari (o doppi).
Lascia che l'insieme fattibile del problema che vuoi effettivamente risolvere sia , e supponi invece che dovresti risolvere il problema ( F ε ):F={x:Ax≤b,x>0}Fε
s.t.minx0Ax≤bx≥ε⋅1.
Il approssimativo più vicino al problema che si desidera risolvere è , che ammette un numero leggermente maggiore di punti. Il problema è che il limite dell'ortante positivo (ovvero l'insieme B = { x : x ≥ 0 , ∃ i : x i = 0 } potrebbe costituire parte del limite dell'insieme fattibile di F 0 . piace escludere quei punti. Un modo per farlo è quello di suggerire Aron, che è impostare εF0B={x:x≥0,∃i:xi=0}F0εa qualche piccolo valore positivo, quindi utilizzare qualsiasi algoritmo LP standard. Questa strategia è valida e probabilmente funzionerà in un'ampia varietà di situazioni. Tuttavia, fallirà se è impossibile. Sappiamo che F 0 ⊂ F ⊂ F ε per tutto ε > 0 (per abusare della notazione e fare riferimento a un insieme fattibile dal suo problema corrispondente), ed è possibile che anche se scegli piccoli valori positivi di ε , il solutore LP indicherà che il tuo LP non è fattibile.FεF0⊂F⊂Fεε>0ε
Per un risolutore LP, userei qualsiasi algoritmo punto interno per dischi che inizia con un punto fattibile e soggiorni fattibili, che è un altro modo per escludere punti . Non è necessario fornire un punto fattibile a questi algoritmi; i solutori standard lo faranno per te. Metodi come il ridimensionamento affine, la riduzione potenziale e i metodi di barriera creano LP ausiliari che troveranno soluzioni fattibili e le iterate per questi algoritmi attraversano l'interno della regione fattibile. Hai solo bisogno di individuare un punto nella tua regione fattibile, quindi finché i problemi ausiliari usati dai solutori LP individuano un punto fattibile per il tuo problema, e quel punto fattibile è strettamente positivo, dovresti andare bene. Se la risoluzione di F ε fallisce per piccoli valori positivi di εBFεε, potresti comunque essere in grado di utilizzare questi metodi per individuare un punto fattibile strettamente positivo all'interno di .F0
Non usare simplex, però, perché esplorerà solo i vertici di , che è esattamente quello che vuoi evitare di fare.Fε