W przypadku pierwszego pytania bez całkowitego zamówienia odpowiedź na to pytanie jest taka, że jest on zasadniczo tak trudny jak programowanie liniowe. Oto zarys dowodu.
Najpierw ustalmy zmienną x1>0, które nazywamy ϵ. Teraz wybierzmy inną zmiennąxi, które nazwiemy 1. Chcemy się tego upewnić
ϵ≪1.
Aby to zrobić, weź pod uwagę nierówności
x1<x2,
x1+x2<x3,
x2+x3<x4,
i tak dalej. Przy wystarczająco długim łańcuchu to nam to powie
Nx1<xilub
ϵ<1/N, dla niektórych bardzo dużych
N (
N jest liczbą Fibonacciego, a zatem rośnie wykładniczo w
i).
Możemy teraz wyprodukować program liniowy ze współczynnikami całkowitymi. Jeśli chcemy współczynnika 3 naxt, dodajemy nierówności
xt<xt′<xt′′<xt+ϵ
i niech 3 . Jeśli chcesz mieć większe współczynniki, możesz je uzyskać, wyrażając współczynniki w notacji binarnej i wprowadzając nierówności, które gwarantują, że , i tak dalej. Aby uzyskać prawą stronę, robimy to samo ze zmienną . Ta technika pozwoli nam użyć programów liniowych w postaci PO, aby w przybliżeniu sprawdzić wykonalność dla dowolnych programów liniowych o współczynnikach całkowitych, co jest zadaniem tak samo trudnym jak programowanie liniowe.
xt+xt′+xt′′xtxu≈2xtxv≈2xuxi=1
Nie wiem, jak przeanalizować drugie pytanie, pytając o przypadek, w którym wszystkie podzbiory mają całkowitą kolejność.