Saya memiliki keluarga masalah pemrograman linier: memaksimalkan subjek A x ≤ b , x ≥ 0 . Elemen-elemen A , b , dan c adalah bilangan bulat tidak negatif, c sangat positif. ( juga harus integral tetapi saya akan khawatir tentang itu nanti.)
Sering terjadi dalam aplikasi saya bahwa koefisien dan c sedemikian rupa sehingga algoritma satu langkah yang disederhanakan memberikan solusi optimal untuk setiap pilihan b : algoritma satu jalur menentukan elemen x 1 , … , x n secara berurutan, memilih setiap x j menjadi nilai terbesar yang mungkin konsisten dengan nilai yang sudah ditentukan x 1 , … , x j - 1 . Dalam bahasa simpleks, urutan memasukkan variabel hanya x 1 hingga x n , dan berakhir setelah itu langkah. Ini menghemat banyak waktu dibandingkan dengan simpleks penuh.
Algoritma ini berfungsi ketika kolom dan elemen c telah diurutkan dari "murah" ke "mahal". Variabel "murah" adalah kolom A dengan nilai yang umumnya kecil, di mana elemen yang sesuai dari c adalah besar: untuk elemen x Anda mendapatkan banyak output dengan permintaan yang tidak terlalu banyak pada kendala b . Jadi algoritma hanya mengatakan "lakukan hal-hal yang mudah dulu."
Pertanyaan saya adalah: properti apa dari dan c yang akan meyakinkan kami bahwa algoritma yang disederhanakan ini bekerja untuk semua b ? Dugaan awal saya adalah bahwa elemen bukan nol dari A harus meningkat di setiap baris, tetapi itu tidak benar.
Berikut adalah beberapa contoh, semuanya dengan : A 1 = ( 1 1 1 1 2 3 3 2 0 ) , A 2 = ( 0 0 1 3 0 2 0 3 2 ) , A 3 = ( 1 1 1 1 0 0 1 0 1 ) = ( 1 , . Untuk semua ini, algoritma sekuensial memberikan solusi optimal untuk semua nilaib(dengan eksperimen numerik). Angka3adalah satu-satunya yang semua permutasi kolom juga berfungsi. A1danA3sangat membingungkan, karena(1,1,3)terlihat lebih mahal daripada(1,3,0)1,1)lebih mahal daripada( dan .
Saya akan sangat berterima kasih atas petunjuk pada literatur, untuk masalah seperti ini, atau saran sama sekali. Pasti ada kasus-kasus lain di mana beberapa variabel dapat ditentukan sebagai "lebih murah" daripada yang lain dan dapat dilakukan dengan aman terlebih dahulu. Dengan semua pekerjaan yang telah dilakukan pada pemrograman linear selama bertahun-tahun, tampaknya sesuatu yang serupa pasti muncul, tetapi saya belum dapat menemukannya.