Saya punya beberapa pengamatan yang terlalu panjang untuk dikomentari. Berikut ringkasannya.
Algoritma apa pun untuk menyelesaikan masalah Anda secara tepat dapat digunakan untuk menyelesaikan program linier dengan tepat (yaitu, "pemrograman linear yang kuat", yang digunakan dalam solusi Sariel, dan saat ini tidak memiliki algoritma waktu polinomial).
Tindak lanjut alami adalah jika solusi perkiraan (yaitu, "pemrograman linear lemah") dapat memberikan solusi. Walaupun jawabannya adalah ya, tampaknya kondisi berhenti untuk prosedur ini membutuhkan jumlah yang, setahu saya, tidak dapat dihitung dalam waktu polinomial. (yaitu, algoritma menemukan sesuatu yang baik, tapi sertifikasi ini sulit.) Saran utama saya di sini adalah untuk membuat definisi bermakna dari " solusi -optimal" untuk masalah Anda, dalam hal pendekatan ini adalah penurut. (Strategi ini secara efektif mengusir wajah-wajah kecil dari polyhedron.)ϵ
Secara umum, sambil memikirkan pernyataan masalah Anda saat ini, saya terus mempertimbangkan efisiensi. Tapi ada intuisi yang masuk akal untuk ini: benda-benda yang kita lempar - simpul, wajah, dll. - terpisah, dan berlimpah secara eksponensial.
(1.) Misalkan kita memiliki algoritma yang secara tepat menyelesaikan masalah Anda. Perhatikan bahwa titik terbuka dari wajah apa pun yang berisi titik tengah yang disediakan akan menjadi solusi tepat untuk program linier asli. Jadi lanjutkan sebagai berikut. Tambahkan batasan linear baru yang mengatakan bahwa nilai obyektif asli harus sama dengan yang optimal (yang sekarang kita ketahui), dan tetapkan pepatah obyektif baru untuk memaksimalkan koordinat pertama dari solusi. Ulangi prosedur ini satu kali untuk setiap dimensi, setiap kali menambahkan kendala dan memilih koordinat baru untuk memaksimalkan. Proses ini akan mengurangi dimensi solusi setiap kali; tentu saja, ketika proses selesai, kami memiliki set affine 0-dimensi, yang berarti satu titik. Jadi dengan O(d)iterasi dari algoritma penyelesaian titik tengah Anda (dan hanya meningkatkan deskripsi masalah dengan jumlah polinomial dalam setiap kali), pemrograman linier yang kuat diselesaikan. Ini menunjukkan bahwa sementara solusi Sariel memerlukan pemrograman linier yang kuat, solusi tepat untuk pertanyaan Anda tidak dapat menghindarinya. ( Sunting : perhatikan bahwa bukti saya mengandaikan polihedron kecil (polytope) sebagai input; jika tidak, ia harus bekerja sedikit lebih keras untuk menemukan simpul.)d
(2.) Berikut ini adalah skema iteratif, menggunakan pemecah cembung penuh di setiap iterasi, yang solusinya akan menyatu dengan gagasan ringan solusi titik tengah. Pilih urutan parameter penalti yang positif namun menurun ; masuk akal untuk memiliki ini turun secara geometris, yaitu λ i = 2 - i . Sekarang, untuk setiap i , kira-kira meminimalkan fungsi cembung{λi}∞i=1↓0λi=2−ii
⟨c,x⟩−λi∑j=1mln(⟨aj,x⟩−b),
⟨c,x⟩jmλiτλiberkurang, tujuan linier asli pada akhirnya akan mendominasi beberapa hambatan rumit yang membuat Anda dari wajah yang sesuai, tetapi tidak akan berdampak pada hambatan yang membuat Anda dari batas-batas lain, khususnya yang dari wajah target.
λλ
Semua kondisi yang dapat saya hentikan memiliki kesulitan komputasi semacam ini. (Selain itu, banyak lagi yang dapat digunakan untuk mengubah ini menjadi pemecah pemrograman linier yang kuat.)
ϵλτϵ
(Beberapa komentar terakhir.) Tampaknya gagasan tentang "titik tengah" sangat penting; Komentar Sasho menunjukkan bahwa centroid (pusat massa?) Adalah masalah yang sangat sulit, sedangkan menemukan, katakanlah, bola bertulis terbesar adalah mudah. Hambatan logaritmik yang saya sarankan di atas secara umum tidak akan konsisten dengan salah satu dari konsep titik tengah ini. Di sisi lain, untuk penghalang dan bola, Anda bisa mendapatkan batas bawah pada jarak dari centroid ke batas relatif wajah; mungkin ini lebih bermanfaat untukmu?
Terakhir, dari uraian Anda, saya yakin maksud Anda adalah "wajah target" untuk memiliki dimensi setinggi mungkin? Ini didefinisikan dengan baik, namun ada juga wajah solusi untuk semua dimensi yang mungkin lebih kecil juga. Bagaimanapun, baik pendekatan Sariel dan pendekatan penghalang di atas akan bekerja dengan wajah dimensi terbesar.