0-1 Pemrograman Linier: menghitung Formulasi Optimal

14

Pertimbangkan ruang n dimensi {0,1}n , dan mari menjadi batasan linear dari bentuk , di mana , dan .ca1x1+a2x2+a3x3+ ... +an1xn1+anxnkaiRxi{0,1}kR

Jelas, memiliki efek pemisahan dalam dua himpunan bagian dan . berisi semua dan hanya titik-titik yang memuaskan , sedangkan berisi semua dan hanya titik-titik yang memalsukan .{ 0 , 1 } n S c S ¬ c S c c S ¬ c cc{0,1}nScS¬cSccS¬cc

Asumsikan bahwa . Sekarang, biarkan O menjadi subset dari S_c sedemikian rupa sehingga semua tiga pernyataan berikut ini berlaku:O S c|Sc|nOSc

  1. HAI berisi persis n poin.
  2. Seperti n poin adalah bebas linear.
  3. Seperti n poin adalah mereka pada jarak minimum dari hyperplane diwakili oleh c . Lebih tepatnya, misalkan d(x,c) menjadi jarak dari titik x{0,1}n dari hyperplane c . Kemudian, BSc sedemikian sehingga B memenuhi 1 dan 2 itu adalah kasus yang xBd(x,c)xHAId(x,c) . Dengan kata lain HAI adalah, di antara semua himpunan bagian Sc memenuhi kedua kondisi 1 dan 2, salah satu yang meminimalkan jumlah jarak titik-titiknya dari hyperplane c .

Pertanyaan

  1. Mengingat , apakah mungkin untuk menghitung efisien? OcHAI
  2. Algoritme manakah yang paling dikenal untuk menghitungnya?

 

Contoh dengan n=3

Contoh dengan n = 3

S¬c={(1,0,1)} , .O={(0,0,1),(1,1,1),(1,0,0)}

 

Pembaruan 05/12/2012

Motivasi

Motivasi adalah bahwa menggunakan itu harus mungkin untuk menentukan kendala yang optimal , sebagaimana mestinya hyperplane didefinisikan oleh poin di . c n OOcnO

Batasan optimal adalah salah satu yang mengarah ke polytope optimal .P cP

Polytope optimal adalah yang memiliki semua simpul dan hanya simpul bilangan bulat dari polytope awal (simpul bilangan bulat adalah simpul yang koordinatnya semua bilangan bulat). PPP

Formulasi Optimal

Proses dapat diulang untuk setiap kendala dari 0-1 misalnya , setiap kali mengganti dengan kendala optimal yang sesuai . Pada akhirnya, ini akan menyebabkan optimal polytope dari . Kemudian, karena simpul dari semua dan hanya simpul integer dari polytope awal dari , setiap algoritma untuk dapat digunakan untuk menghitung solusi optimal integer. Saya tahu bahwa dapat menghitung efisien akan menyiratkan , namun pertanyaan tambahan berikut masih ada:cLPIccPIPPILPPP=NP

Pertanyaan tambahan

Apakah ada pekerjaan sebelumnya di sepanjang garis ini? Apakah ada yang sudah menyelidiki tugas komputasi, diberi polytope , yang sesuai dengan polytope optimal ? Algoritme manakah yang paling dikenal untuk melakukan itu?P PP

Giorgio Camerani
sumber
Ini tampaknya NP-sulit dilakukan dengan tepat, dengan reduksi dari jumlah subset. Diberikan bilangan bulat biner , untuk menguji apakah ada jumlah penjumlahan ke s , kita dapat menguji apakah ada titik pada hyperplane v 1 x 1 + + v 1 x n = s . Apakah Anda tertarik pada perkiraan? v1,...,vnsv1x1++v1xn=s
Colin McQuillan
@ColinMcQuillan: Pertanyaan itu dimaksudkan untuk solusi yang tepat, namun saya tentu juga tertarik pada perkiraan. Mengapa Anda tidak mengubah komentar Anda menjadi jawaban?
Giorgio Camerani
@ColinMcQuillan: Juga, hyperplane Anda ditentukan dengan menggunakan kesetaraan, sedangkan milikku didefinisikan dengan menggunakan ketidaksetaraan. Apakah Anda yakin bahwa ini tidak ada bedanya dalam hal kekerasan? Saya belum memeriksanya, jadi saya hanya bertanya.
Giorgio Camerani
Aku agak bingung tentang semua pembatasan . Jika Anda sedang mencari informasi tentang convex hull dari S c maka ada banyak hasil dalam operasi penelitian literatur tentang polytope 0-1 ransel. Dalam hal perkiraan formulasi, lihat ini . OSc
Austin Buchanan

Jawaban:

6

Ini tampaknya NP-sulit dilakukan dengan tepat, dengan reduksi dari jumlah subset. Misalkan kita memiliki prosedur yang efisien untuk menghitung . Dengan bilangan bulat positif v 1 , , v n yang dikodekan dalam biner, kami ingin menguji apakah ada subset penjumlahan ke s . Preprocess dengan membuang bilangan bulat yang lebih besar dari s .Ov1,,vnss

Panggil prosedur untuk mendapatkan seperangkat kecil poin yang memenuhi v 1 x 1 + + v 1 x ns , memenuhi kondisi minimum Anda (proses pra-pemrosesan memastikan | S c |n ). Set ini pasti akan berisi titik pada hyperplane v 1 x 1 + + v 1 x n = s jika ada.Ov1x1++v1xns|Sc|nv1x1++v1xn=s

Colin McQuillan
sumber
Mungkin saya menghadap sesuatu yang makroskopis di sini, tapi saya punya 2 pertanyaan: 1) Ketika Anda mengatakan " Bilangan Biner Diberikan " apa yang Anda maksud dengan biner ? milik R . Mungkin maksud Anda dikodekan dalam biner? Atau mungkin Anda ingin mengatakan positif? 2) Mengapa membuang semua bilangan bulat lebih besar dari s ? Mereka dapat berkontribusi pada solusi. Sebagai contoh: v 1 = - 3 , v 2 = 7 , v 3 = - 5 ,v1,...,vnRs jika Anda membuang v 2 Anda kehilangan satu-satunya solusi { v 2 , v 3 } . v1=3,v2=7,v3=5,s=2v2{v2,v3}
Giorgio Camerani
2
Saya pikir apa yang dimaksud Colin adalah bahwa jika koefisien kendala adalah bilangan rasional, dalam representasi biner yang biasa, maka masalah Anda tampaknya NP-hard. (Mencampur bilangan real dan kekerasan NP selalu sulit.)ai
Jeffε
1
@GiorgioCamerani: Saya memang perlu mengatakan positif - Saya telah memperbarui jawaban saya.
Colin McQuillan
1

Sepertinya saya Anda mencoba untuk mendapatkan lambung cembung IP - pada dasarnya inilah yang algoritma capai coba capai. Meskipun ada yang menarik metode ini ongkosnya buruk dalam praktek.

Ada semua teori tentang generasi ketidaksetaraan yang valid. Titik awal yang baik adalah teori buku integer tentang shrijver.

Mahasiswa AJ
sumber