Pour un problème de faisabilité LP, je n'utiliserais pas de simplex standard. Les algorithmes simplex primaux (ou doubles) standard ne visiteront que les sommets de l'ensemble faisable des problèmes primaux (ou doubles).
Soit l'ensemble faisable du problème que vous voulez réellement résoudre , et supposez plutôt que vous deviez résoudre le problème ( F ε ):F={x:Ax≤b,x>0}Fε
s.t.minx0Ax≤bx≥ε⋅1.
L'approximant le plus proche du problème que vous souhaitez résoudre est , qui admet un peu trop de points. Le problème est que la frontière de l'orthant positif (c'est-à-dire l'ensemble B = { x : x ≥ 0 , ∃ i : x i = 0 } pourrait constituer une partie de la frontière de l'ensemble réalisable de F 0. Nous tiens à exclure ces points. Une façon de le faire est de faire ce que Aron a suggéré, qui est de définir εF0B={x:x≥0,∃i:xi=0}F0εà une petite valeur positive, puis utilisez n'importe quel algorithme LP standard. Cette stratégie est bonne et fonctionnera probablement dans une grande variété de situations. Cependant, il échouera si est irréalisable. Nous savons que F 0 ⊂ F ⊂ F ε pour tout ε > 0 (pour abuser de la notation et se référer à un ensemble faisable par son problème correspondant), et il est possible que même si vous choisissez de petites valeurs positives de ε , le solveur LP indiquera que votre LP est irréalisable.FεF0⊂F⊂Fεε>0ε
Pour un solveur LP, j'utiliser tout algorithme de point intérieur pour LPs qui commence par un point réalisable et séjours possibles, ce qui est une autre façon d'exclure des points en . Vous n'avez pas besoin de fournir un point réalisable à ces algorithmes; les solveurs standard le feront pour vous. Des méthodes telles que la mise à l'échelle affine, la réduction du potentiel et les méthodes de barrière mettent en place des LP auxiliaires qui trouveront des solutions réalisables, et les itérations de ces algorithmes traversent l'intérieur de la région réalisable. Vous n'avez besoin de localiser qu'un seul point dans votre région réalisable, donc tant que les problèmes auxiliaires utilisés par les solveurs LP localisent un point faisable pour votre problème, et que ce point faisable est strictement positif, vous devriez être d'accord. Si la résolution de F ε échoue pour de petites valeurs positives de εBFεε, vous pouvez toujours utiliser ces méthodes pour localiser un point réalisable strictement positif dans .F0
N'utilisez pas simplex, cependant, car il n'explorera que les sommets de , ce qui est exactement ce que vous voulez éviter de faire.Fε