Pemrograman linear integer dalam jumlah variabel logaritmik


16

Saya membaca bahwa pemrograman linear integer dapat dipecahkan dalam waktu polinominal jika jumlah variabel diperbaiki, yaitu . Jika jumlah variabel tumbuh secara logaritmik, yaitu untuk input ukuran , apakah masalahnya masih dapat dipecahkan dalam waktu polinominal atau apakah ini merupakan masalah terbuka?nnO(1)nO(log2(N))N


Tidak bisakah Anda menambahkan kendala yang benar-benar sepele untuk meningkatkan ukuran input?
joro

Mengapa Anda ingin menambah ukuran input?
user3613886

Untuk membuat input sangat besar sehingga jumlah variabel adalah logaritmik dan sesuai dengan pertanyaan Anda.
joro

tetapi dalam pertanyaan kita sudah mengasumsikan bahwa variabel-variabel adalah logaritmik dibandingkan dengan ukuran input
user3613886

Saya berpikir untuk menjadikan semua instance sebagai milik Anda, tetapi ini mungkin secara eksponensial meningkatkan input.
joro

Jawaban:


15

Saya hanya bisa memberikan jawaban parsial untuk pertanyaan ini.

Sebuah hasil oleh Lenstra (yang kemudian diperbaiki oleh Kannan, dan Frank dan Tardos) menyatakan bahwa ILP dengan variabel dapat diselesaikan dalam waktu k O ( k ) (dikalikan polinomial dalam ukuran ILP). Oleh karena itu, ILP dalam P ketika jumlah variabel adalah O ( log n / log log n ) . Saya tidak yakin apakah algoritma 2 O ( k ) diketahui, atau apakah algoritma seperti itu akan bertentangan dengan ETH.kkO(k)O(logn/loglogn)2O(k)

Saya menemukan informasi ini dalam disertasi Daniel Lokshtanov. Berikut referensi yang relevan.

  1. HW Lenstra. Pemrograman integer dengan sejumlah variabel tetap. Matematika Penelitian Operasi, 8: 538-548, 1983.

  2. R. Kannan. Teorema tubuh cembung dan pemrograman bilangan bulat Minkowski. Matematika Penelitian Operasi, 12: 415-440, 1987.

  3. Andras Frank dan Eva Tardos. Aplikasi pendekatan diophantine simultan dalam optimasi kombinatorial. Combinatorica, 7: 49–65, 1987.


Saya pikir Anda akan membutuhkan algoritma O (k ^ p) untuk p tetap, karena bahkan algoritma dengan 2 ^ O (k) akan bersifat eksponensial?
user3613886

Maaf, saya menggunakan notasi yang berbeda dari pertanyaan. Dengan Maksudku jumlah variabel, dan n adalah ukuran input, sehingga 2 k algoritma akan polinomial-waktu jika k = O ( log n ) . kn2kk=O(logn)
Michael Lampis

Tapi misalkan Anda hanya memiliki variabel biner, bukankah brute force ? 2k
user3613886

@ user3613886, tentu saja, tapi itu masalah / pertanyaan yang berbeda. Kami tidak dijanjikan dalam pertanyaan bahwa variabelnya adalah biner.
DW

Tidak bisakah Anda menambahkan kendala yang benar-benar sepele untuk meningkatkan ukuran input?
joro
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.