Secara tradisional, pemrograman linier digunakan untuk menemukan satu solusi optimal untuk sekumpulan kendala, variabel, dan tujuan (semuanya digambarkan sebagai hubungan linier). Kadang-kadang, ketika tujuannya sejajar dengan kendala, ada solusi optimal tak terbatas atau banyak yang sama baiknya. Saya tidak bertanya tentang kasus terakhir ini.
Saya lebih tertarik menemukan banyak solusi yang berada di wilayah layak yang dihasilkan oleh serangkaian kendala saya. Tapi saya ingin solusi yang saya temukan 'tersebar' di sekitar wilayah yang layak dalam arti bahwa mereka secara maksimal jauh dari satu sama lain. Adakah cara yang diketahui untuk, tanpa menjalankan pemecah beberapa kali, menghasilkan banyak solusi dan menggunakan fungsi objektif untuk menegakkan bahwa solusi harus dipisahkan?
Misalnya, setiap program linier dengan keputusan a dan b dan kendala w <= a <= x dan y <= b <= z dapat 'diduplikasi' untuk menemukan dua solusi. Program linier baru kami memiliki variabel a1, a2, b1, dan b2 dan kendala w <= a1 <= x dan w <= a2 <= x dan serupa untuk b1, b2. Namun, ketika datang untuk membentuk fungsi obyektif kita mengalami kesulitan karena kita tidak dapat menggunakan norma selain norma L1 tanpa membuang linearitas dan kita tidak dapat benar-benar bahkan menggunakan norma L1 karena itu tidak mungkin (sejauh yang saya tahu ) untuk menyandikan nilai absolut.
Mungkin saya harus melihat ke dalam optimasi cembung atau pemrograman semidefinite atau sesuatu?
Adakah cara yang diketahui untuk menghasilkan serangkaian solusi untuk program linier, dan menggunakan tujuan yang memberlakukan "jarak" antara solusi?