ฉันมีครอบครัวที่มีปัญหาการเขียนโปรแกรมเชิงเส้น: เพิ่ม ภายใต้ , . องค์ประกอบของ, และ เป็นจำนวนเต็มไม่ใช่ค่าลบ บวกอย่างเคร่งครัด ( ควรเป็นส่วนประกอบ แต่ฉันจะกังวลในภายหลัง)
มันมักจะเกิดขึ้นในใบสมัครของฉันว่าค่าสัมประสิทธิ์ และ เป็นวิธีที่อัลกอริธึมแบบ one-pass ที่เรียบง่ายทำให้เป็นทางออกที่ดีที่สุดสำหรับทุกทางเลือก : อัลกอริทึม One-Pass กำหนดองค์ประกอบ ในลำดับเลือกแต่ละ เป็นค่าที่ใหญ่ที่สุดที่เป็นไปได้ซึ่งสอดคล้องกับค่าที่กำหนดไว้แล้ว . ในภาษา simplex ลำดับของการป้อนตัวแปรเป็นเพียง ถึง และจะยุติลงหลังจาก ขั้นตอน ซึ่งช่วยประหยัดเวลาได้มากเมื่อเทียบกับ full-on simplex
อัลกอริทึมนี้ใช้งานได้เมื่อคอลัมน์ของ และองค์ประกอบของ ถูกจัดเรียงจาก "ถูก" เป็น "แพง" ตัวแปร "ถูก" คือคอลัมน์ของ โดยทั่วไปจะมีค่าน้อยซึ่งองค์ประกอบที่สอดคล้องกันของ มีขนาดใหญ่: สำหรับองค์ประกอบของ คุณได้รับผลผลิตจำนวนมากโดยมีความต้องการไม่มากนัก . ดังนั้นอัลกอริทึมก็บอกว่า "ทำสิ่งที่ง่ายก่อน"
คำถามของฉันคือทรัพย์สินของ และ จะช่วยให้เรามั่นใจว่าอัลกอริทึมที่ง่ายนี้เหมาะสำหรับทุกคน ? การคาดเดาครั้งแรกของฉันคือองค์ประกอบที่ไม่ใช่ศูนย์ ควรเพิ่มในแต่ละแถว แต่ไม่ถูกต้อง
นี่คือตัวอย่างบางส่วนทั้งหมดด้วย : , , , . สำหรับสิ่งเหล่านี้อัลกอริธึมแบบซีเควนเชียลให้ทางออกที่ดีที่สุดสำหรับค่าทั้งหมดของ (โดยการทดลองเชิงตัวเลข) เป็นเพียงหนึ่งเดียวที่พีชคณิตของคอลัมน์ทั้งหมดทำงานเช่นกัน และ โดยเฉพาะอย่างยิ่งทำให้งงงันตั้งแต่ ดูแพงกว่า และ แพงกว่า .
ฉันจะขอบคุณอย่างยิ่งสำหรับพอยน์เตอร์ใด ๆ ต่อวรรณกรรมสำหรับปัญหาใด ๆ เช่นนี้หรือข้อเสนอแนะใด ๆ เลย จะต้องมีกรณีอื่น ๆ ที่ตัวแปรบางตัวสามารถกำหนดให้เป็น "ราคาถูก" กว่าตัวแปรอื่น ๆ และสามารถทำได้อย่างปลอดภัยก่อน จากงานทั้งหมดที่ทำกับการเขียนโปรแกรมเชิงเส้นในช่วงหลายปีที่ผ่านมาดูเหมือนว่าสิ่งที่คล้ายกันจะต้องเกิดขึ้น แต่ฉันไม่สามารถหามันได้