H. Lenstra'nın Sabit Sayıda Değişkenle Programlama adlı ünlü 1983 makalesi, sabit sayıda değişkene sahip tam sayı programlarının veri uzunluğunda zaman polinomunda çözülebildiğini belirtmektedir.
Bunu şu şekilde yorumluyorum.
- Tamsayı programlama hala NP-tamamlanmış ancak eldeki tipik sorun büyüklüğüm (yaklaşık 10.000 değişken, rasgele sayıda kısıtlama varsa) pratikte mümkün ise, o zaman kısıtlamaların sayısı içinde polinom olarak ölçeklenen bir algoritma oluşturabilirdim ama değişkenlerin ve kısıtların sayısı.
- Sonuç, ikili programlama için de geçerlidir, çünkü uygun bir kısıtlama ekleyerek herhangi bir tamsayıyı 0-1'e zorlayabilirim.
Benim yorumum doğru mu?
Bu sonucun herhangi bir pratik etkisi var mı? Yani, mevcut bir uygulama var mı veya CPLEX, Gurobi veya Mosek gibi popüler çözücülerde kullanılıyor mu?
Makaleden bazı alıntılar:
Bu uzunluk bizim amacımız için n · m · log (a + 2) olarak tanımlanabilir, burada bir A ve b katsayılarının mutlak değerlerinin maksimumu belirtilir. Aslında, söz konusu sorun NP-tamamlanmış olduğundan, böyle bir polinom algoritması mevcut değildir.
[...]
N'nin herhangi bir sabit değeri için tamsayı doğrusal programlama probleminin çözümü için bir polinom algoritması olduğu varsayılmıştır [5], [10]. Bu yazıda böyle bir algoritma sergileyerek bu varsayımı kanıtlıyoruz. Algoritmamızın çalışma süresinin sınırlanabileceği polinom derecesi n'nin üstel bir fonksiyonudur.