บ้าน การวิจัย รายละเอียดการแก้ปัญหาของตารางซิมเพล็กซ์ออนไลน์ ตัวอย่างการแก้ปัญหา

รายละเอียดการแก้ปัญหาของตารางซิมเพล็กซ์ออนไลน์ ตัวอย่างการแก้ปัญหา

11.4. วิธีดูอัลซิมเพล็กซ์

จากผลลัพธ์ของส่วนก่อนหน้านั้น เพื่อให้ได้วิธีแก้ปัญหาสำหรับปัญหาเดิม เราสามารถส่งต่อไปยังส่วนคู่ และใช้ค่าประมาณของการออกแบบที่เหมาะสมที่สุด กำหนดวิธีแก้ปัญหาที่เหมาะสมที่สุดสำหรับปัญหาเดิม

ไม่จำเป็นต้องเปลี่ยนไปใช้ปัญหาคู่เนื่องจากถ้าเราพิจารณาฉากซิมเพล็กซ์แรกด้วยพื้นฐานเพิ่มเติมของหน่วย จะเห็นได้ง่ายว่าคอลัมน์มีปัญหาเดิม และปัญหาคู่เขียนในแถว

ดังที่แสดงไว้ เมื่อแก้ปัญหาตรงที่การวนซ้ำใด ๆ ความแตกต่าง, เช่น. ขนาด -สัมประสิทธิ์กับตัวแปรเท่ากับความแตกต่างระหว่างด้านขวาและด้านซ้ายของข้อจำกัดที่สอดคล้องกันของปัญหาคู่ หากเมื่อแก้ปัญหาโดยตรงด้วยฟังก์ชันวัตถุประสงค์สูงสุด การวนซ้ำไม่ได้นำไปสู่วิธีแก้ปัญหาที่เหมาะสม อย่างน้อยก็สำหรับตัวแปรหนึ่งตัวและเฉพาะในค่าที่เหมาะสมที่สุดสำหรับทั้งหมดเท่านั้นความแตกต่าง .

พิจารณาเงื่อนไขนี้โดยคำนึงถึงความเป็นคู่เราสามารถเขียน

.

ดังนั้น ถ้า, แล้ว . ซึ่งหมายความว่าเมื่อวิธีแก้ไขปัญหาปฐมภูมิไม่เหมาะสม วิธีแก้ไขปัญหาสองปัญหานั้นไม่ถูกต้อง ในทางกลับกัน ที่ . นี่หมายความว่าทางออกที่ดีที่สุดของปัญหาปฐมภูมิสอดคล้องกับวิธีแก้ไขปัญหาที่ยอมรับได้ของปัญหาคู่

สิ่งนี้ทำให้สามารถพัฒนาวิธีการใหม่ในการแก้ปัญหาการโปรแกรมเชิงเส้นเมื่อใช้งานซึ่งในตอนแรกอาจได้รับวิธีแก้ปัญหาที่ "ดีกว่าที่เหมาะสมที่สุด" (ในวิธีซิมเพล็กซ์ปกติก่อน ยอมรับได้, แต่ ไม่เหมาะสมวิธีการแก้). วิธีการใหม่ที่เรียกว่า วิธีดูอัลซิมเพล็กซ์, รับรองการปฏิบัติตามเงื่อนไขที่เหมาะสมที่สุดของโซลูชันและ "การประมาณ" อย่างเป็นระบบไปยังพื้นที่ของโซลูชันที่เป็นไปได้ เมื่อโซลูชันที่ได้รับกลายเป็นสิ่งที่ยอมรับได้ กระบวนการคำนวณแบบวนซ้ำจะสิ้นสุดลง เนื่องจากโซลูชันนี้ก็เหมาะสมที่สุดเช่นกัน

วิธีดูอัลซิมเพล็กซ์ช่วยให้สามารถแก้ปัญหาการโปรแกรมเชิงเส้นได้ ซึ่งระบบข้อจำกัดที่มีพื้นฐานเชิงบวกมีเงื่อนไขอิสระของเครื่องหมายใดๆ วิธีนี้ทำให้สามารถลดจำนวนการแปลงระบบข้อจำกัด ตลอดจนขนาดของตารางซิมเพล็กซ์ พิจารณาการประยุกต์ใช้วิธีดูอัลซิมเพล็กซ์โดยใช้ตัวอย่าง

ตัวอย่าง. หาค่าต่ำสุดของฟังก์ชัน

ภายใต้ข้อจำกัด

.

ไปที่รูปแบบบัญญัติ:

ภายใต้ข้อจำกัด

ฉากซิมเพล็กซ์เริ่มต้นมีรูปแบบ

ขั้นพื้นฐาน

ตัวแปร

x 1

x 2

x 3

x 4

x 5

วิธีการแก้

x 3

x 4

x 5

–3

–4

–1

–3

–3

–6

–2

–1

วิธีแก้ปัญหาเบื้องต้นเบื้องต้นเหมาะสมที่สุดแต่ไม่เป็นที่ยอมรับ

เช่นเดียวกับวิธีซิมเพล็กซ์ทั่วไป วิธีการแก้ปัญหาภายใต้การพิจารณาจะขึ้นอยู่กับการใช้เงื่อนไขที่ยอมรับได้และเหมาะสมที่สุด

เงื่อนไขการรับเข้าเรียน. ตัวแปรพื้นฐานเชิงลบที่ใหญ่ที่สุดในค่าสัมบูรณ์จะถูกเลือกเป็นตัวแปรที่แยกออก (หากมีทางเลือกอื่น ทางเลือกจะถูกกำหนดโดยพลการ) หากตัวแปรพื้นฐานทั้งหมดไม่เป็นค่าลบ กระบวนการคำนวณจะสิ้นสุดลง เนื่องจากผลลัพธ์ที่ได้จะเป็นไปได้และเหมาะสมที่สุด

สภาพ ความเหมาะสม. ตัวแปรที่รวมอยู่ในค่าพื้นฐานจะถูกเลือกจากตัวแปรที่ไม่ใช่ตัวแปรพื้นฐานดังต่อไปนี้ คำนวณอัตราส่วนของสัมประสิทธิ์ทางด้านซ้าย-equations กับสัมประสิทธิ์ที่สอดคล้องกันของสมการที่เกี่ยวข้องกับตัวแปรที่แยกออก ความสัมพันธ์กับตัวส่วนบวกหรือศูนย์จะไม่ถูกนำมาพิจารณา ในปัญหาการลดขนาดตัวแปรอินพุต อัตราส่วนที่น้อยที่สุดจะต้องสอดคล้องกัน และในปัญหาการขยายให้ใหญ่สุด อัตราส่วนที่มีค่าสัมบูรณ์ที่น้อยที่สุด (หากมีทางเลือกอื่น ให้เลือกตามอำเภอใจ) ถ้าตัวส่วนของอัตราส่วนทั้งหมดเป็นศูนย์หรือบวก แสดงว่าปัญหาไม่มีวิธีแก้ปัญหาที่เป็นไปได้

หลังจากเลือกตัวแปรที่จะรวมอยู่ในค่าพื้นฐานและจะถูกแยกออก การดำเนินการตามปกติของการแปลงแถวของตารางซิมเพล็กซ์จะดำเนินการเพื่อให้ได้แนวทางแก้ไขถัดไป

ในตัวอย่างนี้ ตัวแปรที่ยกเว้นคือ. อัตราส่วนที่คำนวณเพื่อกำหนดตัวแปรฐานใหม่จะแสดงในตารางต่อไปนี้:

ตัวแปร

x 1

x 2

x 3

x 4

x 5

สมการ

x 4 - สมการ

–2

–4

–1

–3

ทัศนคติ

ตัวแปรที่จะรวมคือ x 2. การแปลงสตริงที่ตามมาส่งผลให้เกิดตารางซิมเพล็กซ์ใหม่:

ขั้นพื้นฐาน

ตัวแปร

x 1

x 2

x 3

x 4

x 5

วิธีการแก้

x 3

x 2

x 5

–1

–1

โซลูชั่นใหม่ ยังเหมาะสมที่สุด แต่ก็ยังไม่ถูกต้อง ในฐานะตัวแปรใหม่ที่ถูกแยกออก เราเลือก (ตามอำเภอใจ) x 3 . มากำหนดตัวแปรรวมกัน

ตัวแปร

x 1

x 2

x 3

x 4

x 5

สมการ

x 4 - สมการ

ทัศนคติ

วิธีซิมเพล็กซ์ - นี่เป็นวิธีการเปลี่ยนจากโซลูชันพื้นฐานแบบต่อเนื่อง (จุดยอดของรูปทรงหลายเหลี่ยมของโซลูชัน) ของระบบข้อจำกัดของปัญหาการโปรแกรมเชิงเส้นไปเป็นโซลูชันพื้นฐานอื่น จนกว่าฟังก์ชันเป้าหมายจะใช้ค่าที่เหมาะสมที่สุด (สูงสุดหรือต่ำสุด)

วิธีซิมเพล็กซ์เป็นวิธีการสากลที่สามารถแก้ปัญหาใด ๆ ได้ ปัญหาการเขียนโปรแกรมเชิงเส้นในขณะที่วิธีการแบบกราฟิกเหมาะสำหรับระบบข้อจำกัดสองตัวแปรเท่านั้น

นักคณิตศาสตร์ชาวอเมริกัน R. Danzig เสนอวิธีการแบบซิมเพล็กซ์ในปี 1947 ตั้งแต่นั้นมา สำหรับความต้องการของอุตสาหกรรม วิธีนี้มักจะแก้ปัญหาการเขียนโปรแกรมเชิงเส้นด้วยตัวแปรและข้อจำกัดหลายพันตัว

ก่อนจะไปต่อกันที่อัลกอริธึมวิธีซิมเพล็กซ์ ให้คำจำกัดความก่อน.

วิธีแก้ปัญหาใด ๆ ที่ไม่เป็นลบต่อระบบข้อ จำกัด เรียกว่า ทางออกที่ยอมรับได้ .

ให้มีระบบ ข้อจำกัดจาก ตัวแปร ( น)

โซลูชันพื้นฐานที่ยอมรับได้ เป็นสารละลายที่ประกอบด้วย ไม่เป็นลบ วิชาเอก (ขั้นพื้นฐาน ) ตัวแปรและ - ไม่ใช่คอร์ . (ไม่ใช่พื้นฐานหรือ ฟรี ) ตัวแปร ตัวแปรที่ไม่เป็นพื้นฐานในโซลูชันพื้นฐานมีค่าเท่ากับศูนย์ในขณะที่ตัวแปรหลักตามกฎแล้วไม่เป็นศูนย์นั่นคือเป็นตัวเลขบวก

ใดๆ ตัวแปรระบบ สมการเชิงเส้นด้วย ตัวแปรเรียกว่า หลัก หากดีเทอร์มีแนนต์ของสัมประสิทธิ์ที่พวกมันแตกต่างจากศูนย์ แล้วที่เหลือ - ตัวแปรเรียกว่า ไม่ใช่คอร์ (หรือ ฟรี ).

อัลกอริธึมเมธอด Simplex

  • ขั้นตอนที่ 1. นำปัญหาการเขียนโปรแกรมเชิงเส้นมาสู่รูปแบบบัญญัติ เมื่อต้องการทำเช่นนี้ ให้ย้ายเงื่อนไขอิสระไปทางด้านขวามือ (หากในบรรดาคำศัพท์อิสระเหล่านี้เป็นค่าลบ ให้คูณสมการที่สอดคล้องกันหรืออสมการด้วย - 1) และใส่ตัวแปรเพิ่มเติมเข้าไปในแต่ละข้อจำกัด (ด้วยเครื่องหมายบวก หากอยู่ใน ความไม่เท่าเทียมกันดั้งเดิม เครื่องหมายจะน้อยกว่าหรือเท่ากับ " และด้วยเครื่องหมายลบ ถ้า "มากกว่าหรือเท่ากับ")
  • ขั้นตอนที่ 2. หากอยู่ในระบบผลลัพธ์ สมการแล้ว ใช้ตัวแปรเป็นตัวหลัก แสดงตัวแปรหลักในรูปของตัวแปรที่ไม่ใช่เบส และหาคำตอบพื้นฐานที่สอดคล้องกัน หากวิธีแก้ปัญหาพื้นฐานที่พบกลายเป็นว่ายอมรับได้ ให้ไปที่โซลูชันพื้นฐานที่ยอมรับได้
  • ขั้นตอนที่ 3. แสดงฟังก์ชันเป้าหมายในแง่ของตัวแปรรองของโซลูชันพื้นฐานที่เป็นไปได้ หากพบค่าสูงสุด (ต่ำสุด) ของรูปแบบเชิงเส้นและไม่มีตัวแปรที่ไม่เป็นพื้นฐานที่มีค่าสัมประสิทธิ์เชิงลบ (บวก) ในนิพจน์ แสดงว่าเป็นไปตามเกณฑ์ที่เหมาะสมที่สุดและผลลัพธ์ที่ได้คือโซลูชันพื้นฐานที่เหมาะสมที่สุด - การแก้ปัญหาสิ้นสุดลง หากเมื่อหาค่าสูงสุด (ต่ำสุด) ของรูปแบบเชิงเส้น นิพจน์ประกอบด้วยตัวแปรที่ไม่เป็นพื้นฐานอย่างน้อยหนึ่งตัวที่มีค่าสัมประสิทธิ์เชิงลบ (บวก) ให้ไปที่โซลูชันพื้นฐานใหม่
  • ขั้นตอนที่ 4. จากตัวแปรที่ไม่ใช่พื้นฐานที่รวมอยู่ในรูปแบบเชิงเส้นที่มีค่าสัมประสิทธิ์เชิงลบ (บวก) ให้เลือกตัวแปรที่สอดคล้องกับสัมประสิทธิ์ที่ใหญ่ที่สุด (โมดูโล) และโอนไปยังตัวแปรหลัก ไปที่ขั้นตอนที่ 2

เงื่อนไขสำคัญ

บางกรณีพิเศษจะกล่าวถึงในบทความแยกต่างหาก: เมื่อ ฟังก์ชันวัตถุประสงค์สูงสุด - อินฟินิตี้, เมื่อไร ระบบไม่มีวิธีแก้ปัญหา, และเมื่อ ทางออกที่ดีที่สุดไม่ใช่ทางออกเดียว .

ต่อไป เราจะวิเคราะห์ตัวอย่างทั่วไป เมื่อระบบของข้อจำกัดมีความสอดคล้องกันและมีขอบเขตที่เหมาะสมที่สุดและมีเพียงอันเดียวเท่านั้น รูปแบบของวิธีการซิมเพล็กซ์คือ วิธีการกระจายสินค้าเพื่อแก้ไขปัญหาการขนส่ง .

วิธี Simplex กับตาราง Simplex

โดยการสร้างตารางแบบซิมเพล็กซ์ จะแก้ปัญหาการเขียนโปรแกรมเชิงเส้นได้ง่ายกว่าการแปลงพีชคณิตซึ่งแสดงในย่อหน้าถัดไป ตาราง Simplex เป็นภาพที่มองเห็นได้ชัดเจน มีกฎหลายประเภทสำหรับการทำงานกับตารางซิมเพล็กซ์ เราจะวิเคราะห์กฎซึ่งส่วนใหญ่มักเรียกว่าคอลัมน์นำและกฎแถวนำ

มันจะมีประโยชน์ในการเปิดการดำเนินการด้วยตนเองที่มีเศษส่วนในหน้าต่างใหม่: มีเศษส่วนในปัญหาของวิธีซิมเพล็กซ์เพียงพอแล้ว

ตัวอย่าง.

เราแนะนำตัวแปรที่ไม่เป็นลบเพิ่มเติมและลดระบบอสมการนี้ให้เป็นระบบสมการที่เท่ากัน

.

สิ่งนี้ทำตามกฎต่อไปนี้: หากเครื่องหมายในข้อจำกัดเดิมคือ "น้อยกว่าหรือเท่ากับ" จะต้องเพิ่มตัวแปรเพิ่มเติม และหาก "มากกว่าหรือเท่ากับ" ตัวแปรเพิ่มเติมจะต้องเป็น หักออก

ตัวแปรเพิ่มเติมที่แนะนำถือเป็นตัวแปรหลัก (พื้นฐาน) จากนั้นและเป็นตัวแปรที่ไม่ใช่พื้นฐาน (ฟรี)

แสดงตัวแปรหลัก (พื้นฐาน) ในแง่ของไม่ใช่พื้นฐาน (ฟรี) เราได้รับ

นอกจากนี้เรายังแสดงฟังก์ชันเป้าหมายในแง่ของตัวแปรที่ไม่ใช่พื้นฐาน (ฟรี):

จากสัมประสิทธิ์ของตัวแปร (ไม่ทราบ) เราสร้างฉากซิมเพล็กซ์แรก

ตารางที่ 1
ไม่ทราบพื้นฐาน สมาชิกฟรีไม่ทราบที่หลวม สัมประสิทธิ์เสริม
X1X2
X3-2 1 -2
X4-4 -1 -1
X52 1 -1
X66 0 1
F0 -1 -2

แถวสุดท้ายของตารางซึ่งมีฟังก์ชันวัตถุประสงค์และสัมประสิทธิ์ของตัวแปรอิสระในนั้นจะถูกเรียกว่าแถวดัชนี

ผลลัพธ์ที่ได้นั้นไม่เหมาะสม เนื่องจากสัมประสิทธิ์ของตัวแปรอิสระในแถวดัชนีเป็นค่าลบ นั่นคือ ทางออกที่ดีที่สุดจะเป็นแบบที่สัมประสิทธิ์ของตัวแปรอิสระในแถวดัชนีจะมากกว่าหรือเท่ากับศูนย์

หากต้องการไปยังตารางถัดไป ให้ค้นหาตัวเลขที่ใหญ่ที่สุด (โมดูโล) และ . ตัวเลขนี้คือ 2 ดังนั้นคอลัมน์นำหน้าคือคอลัมน์ที่เขียน

ในการกำหนดแถวนำ เราจะหาอัตราส่วนขั้นต่ำของสมาชิกอิสระต่อองค์ประกอบของคอลัมน์นำ และหากตัวเศษมีจำนวนบวกและตัวส่วนเป็นลบ อัตราส่วนจะถือว่าเท่ากับอนันต์

.

ดังนั้นเส้นนำคือเส้นที่เขียน

องค์ประกอบนำคือ -2

เราเขียนตารางซิมเพล็กซ์ที่สอง

เราป้อนองค์ประกอบพื้นฐานใหม่ในบรรทัดแรก และเราเข้าสู่คอลัมน์ที่มันอยู่ เราป้อนตัวแปรอิสระใหม่

กรอกบรรทัดแรก ในการทำเช่นนี้ เราแบ่งตัวเลขทั้งหมดในแถวนำหน้าของตารางที่ 1 ด้วยองค์ประกอบนำและเขียนลงในคอลัมน์ที่สอดคล้องกันของแถวแรกของตารางที่ 2 ยกเว้นตัวเลขในคอลัมน์นำหน้าซึ่งส่วนกลับของส่วนนำ องค์ประกอบถูกเขียนขึ้น (นั่นคือหนึ่งหารด้วยองค์ประกอบนำหน้า)

กรอกข้อมูลในคอลัมน์ของสัมประสิทธิ์เสริม สำหรับจำนวนคอลัมน์นำหน้าของตารางที่ 1 นี้ นอกเหนือจากองค์ประกอบนำหน้าแล้ว เราเขียนด้วยเครื่องหมายตรงข้ามในคอลัมน์ของสัมประสิทธิ์เสริมของตารางที่ 2

ตารางที่ 2
ไม่ทราบพื้นฐาน สมาชิกฟรีไม่ทราบที่หลวม สัมประสิทธิ์เสริม
X1X3
X21 -1/2 -1/2
X4-3 -3/2 -1/2 1
X53 1/2 -1/2 1
X65 1/2 1/2 -1
F2 -2 -1 2

ใครยังไม่ได้เปิดในหน้าต่างใหม่ การดำเนินการด้วยตนเองกับเศษส่วน สามารถทำได้ในขณะนี้ เพราะถึงเวลาแล้ว

เพื่อให้ได้แถวที่เหลือของตารางที่ 2 ตัวเลขที่อยู่ในแถวแรกของตารางนี้จะถูกคูณด้วยค่าสัมประสิทธิ์เสริมในแถวที่เติม และผลลัพธ์เราจะเพิ่มตัวเลขจากตารางที่ 1 ซึ่งอยู่ในแถวเดียวกันกับ ตัวแปรที่สอดคล้องกัน

ตัวอย่างเช่น เพื่อให้ได้สมาชิกอิสระของแถวที่สอง เราคูณตัวเลข 1 ด้วย 1 แล้วบวกตัวเลข -4 จากตารางที่ 1 เราได้ -3 เราพบสัมประสิทธิ์สำหรับในบรรทัดที่สองในลักษณะเดียวกัน: . เนื่องจากไม่มีคอลัมน์ที่มีตัวแปรอิสระใหม่ในตารางก่อนหน้านี้ สัมประสิทธิ์ของแถวที่สองในคอลัมน์ของตัวแปรอิสระใหม่จะเป็น (นั่นคือจากตารางที่ 1 เราเพิ่ม 0 เนื่องจากไม่มีคอลัมน์ c ในตารางที่ 1)

บรรทัดดัชนีถูกกรอกในลักษณะเดียวกัน:

การแก้ปัญหาที่ได้รับจึงไม่เหมาะสมอีกครั้ง เนื่องจากสัมประสิทธิ์ของตัวแปรอิสระในแถวดัชนีเป็นค่าลบอีกครั้ง

ในการไปที่ตารางซิมเพล็กซ์ถัดไป ให้หาค่าที่ใหญ่ที่สุด (โมดูโล) ของตัวเลข และ นั่นคือ โมดูลของสัมประสิทธิ์ในบรรทัดดัชนี ตัวเลขนี้คือ 2 ดังนั้น คอลัมน์นำหน้าคือคอลัมน์ที่ประกอบด้วย

ในการค้นหาแถวนำ ให้หาอัตราส่วนขั้นต่ำของสมาชิกอิสระต่อองค์ประกอบของแถวนำหน้า เราได้รับ:

.

ดังนั้น เส้นนำหน้าคือเส้นที่เขียน และองค์ประกอบนำหน้าคือ -3/2

รวบรวมตารางซิมเพล็กซ์ที่สาม

เราเขียนตัวแปรพื้นฐานใหม่ในบรรทัดแรก ในคอลัมน์ที่เป็นอยู่ เราป้อนตัวแปรอิสระใหม่

เส้นแรก:

ค่าสัมประสิทธิ์เสริม:

ตารางที่ 3
ไม่ทราบพื้นฐาน สมาชิกฟรีไม่ทราบที่หลวม สัมประสิทธิ์เสริม
X4X3
X12 -2/3 1/3
X22 -1/3 -1/3 1/2
X52 1/3 -2/3 -1/2
X64 1/3 1/3 -1/2
F6 -4/3 -1/3 2

ผลลัพธ์ที่ได้กลับไม่เหมาะสมอีกครั้ง เนื่องจากค่าสัมประสิทธิ์ของค่าที่ไม่ทราบค่าว่างในแถวดัชนีเป็นค่าลบอีกครั้ง

ในการไปที่ตารางซิมเพล็กซ์ที่สี่ ให้หาจำนวนที่มากที่สุดและ . นี่คือตัวเลข

ดังนั้น คอลัมน์นำคือคอลัมน์ที่มี .

โมดูลัสขั้นต่ำของความสัมพันธ์ของสมาชิกอิสระกับองค์ประกอบของคอลัมน์นำ:

.

ดังนั้นเส้นนำคือเส้นที่เขียนและองค์ประกอบนำหน้าคือ 1/3

ในตารางซิมเพล็กซ์ที่สี่ เราเขียนตัวแปรพื้นฐานใหม่ในบรรทัดแรก ในคอลัมน์ที่เป็นอยู่ เราเขียนตัวแปรอิสระใหม่

เส้นแรก:

ค่าสัมประสิทธิ์เสริม:

ตารางที่ 4
ไม่ทราบพื้นฐาน สมาชิกฟรีไม่ทราบที่หลวม สัมประสิทธิ์เสริม
X5X3
X46 3 -2
X16 2 -1 2/3
X24 1 -1 1/3
X62 -1 1 -1/3
F14 4 -3 4/3

การคำนวณแถวที่เหลือโดยใช้ตัวอย่างของแถวที่สอง:

ผลลัพธ์ที่ได้ก็ไม่เหมาะสมเช่นกัน แต่ก็ดีกว่าวิธีก่อนหน้านี้แล้ว เนื่องจากหนึ่งในค่าสัมประสิทธิ์สำหรับตัวแปรอิสระในแถวดัชนีนั้นไม่เป็นค่าลบ

เพื่อปรับปรุงแผน ไปที่ฉากซิมเพล็กซ์ถัดไป

หาจำนวนที่ใหญ่ที่สุดของตัวเลข 4 และ . ตัวเลขนี้คือ 4 ดังนั้น คอลัมน์นำหน้าคือ

ในการหาแถวนำ ให้หา

.

ดังนั้น เส้นนำคือเส้นที่มี . แต่พวกมันอยู่ด้วยกันแล้วท่ามกลางตัวแปรอิสระ ดังนั้น ในการถ่ายโอนตัวแปรถัดไปจากแบบฟรีไปเป็นแบบพื้นฐาน เราจึงเลือกคอลัมน์นำหน้าอีกคอลัมน์หนึ่ง ซึ่งเป็นคอลัมน์ที่เขียนขึ้น

ในการหาแถวนำ ให้หา

.

ดังนั้นบรรทัดสำคัญคือบรรทัดที่เขียนและองค์ประกอบนำคือ 1

ในตารางซิมเพล็กซ์ที่ห้า ตัวแปรพื้นฐานใหม่จะถูกเขียนในบรรทัดแรก ในคอลัมน์ที่เป็นอยู่ เราเขียนตัวแปรอิสระใหม่

เส้นแรก:

ค่าสัมประสิทธิ์เสริม:

ตารางที่ 5
ไม่ทราบพื้นฐาน สมาชิกฟรีไม่ทราบที่หลวม สัมประสิทธิ์เสริม
X5X6
X32 -1 1
X410 2
X18 1
X26 1
F20 1 3 3

ลองค้นหาทันทีว่าวิธีแก้ปัญหานั้นไม่เหมาะสมหรือไม่ ดังนั้น สำหรับแถวที่เหลือ เราคำนวณเฉพาะเงื่อนไขว่าง (เพื่อค้นหาค่าของตัวแปรพื้นฐานเมื่อตัวแปรอิสระเท่ากับศูนย์) และค่าสัมประสิทธิ์ของตัวแปรอิสระในแถวดัชนี

สมาชิกฟรี:

ในบรรทัดที่สอง ;

ในบรรทัดที่สาม ;

บนบรรทัดที่สี่

เส้นดัชนี:

เราดูที่ตารางซิมเพล็กซ์ 5 เราเห็นว่าได้คำตอบที่ดีที่สุดแล้ว เนื่องจากค่าสัมประสิทธิ์ของค่าไม่ทราบค่าอิสระในแถวดัชนีนั้นไม่เป็นค่าลบ

วิธีซิมเพล็กซ์พร้อมการแปลงเชิงพีชคณิต

ลองแก้ด้วยการแปลงพีชคณิตในตัวอย่างเดียวกับในย่อหน้าก่อน ควรสังเกตว่าเมื่อแก้วิธีซิมเพล็กซ์ประเภทนี้ จะดีกว่าที่จะไม่เขียนฟังก์ชันเป้าหมายในแบบฟอร์ม เนื่องจากเป็นเรื่องง่ายที่จะสับสนในสัญญาณ แต่ในกรณีนี้ จุดอัลกอริธึมที่กำหนดเกณฑ์ความเหมาะสมจะได้รับการแก้ไขดังนี้

หากพบค่าสูงสุด (ต่ำสุด) ของรูปแบบเชิงเส้นและไม่มีตัวแปรที่ไม่เป็นพื้นฐานที่มีค่าสัมประสิทธิ์บวก (ลบ) ในนิพจน์ แสดงว่าเป็นไปตามเกณฑ์ความเหมาะสมและผลลัพธ์พื้นฐานที่ได้คือค่าที่เหมาะสมที่สุด - การแก้ปัญหาสิ้นสุดลง หากเมื่อค้นหาค่าสูงสุด (ต่ำสุด) ของรูปแบบเชิงเส้น นิพจน์ประกอบด้วยตัวแปรที่ไม่เป็นพื้นฐานอย่างน้อยหนึ่งตัวที่มีค่าสัมประสิทธิ์เชิงบวก (เชิงลบ) ให้ไปที่โซลูชันพื้นฐานใหม่

ตัวอย่าง.หาค่าสูงสุดของฟังก์ชันภายใต้ข้อจำกัด

ขั้นตอนที่ 1 เราแนะนำตัวแปรที่ไม่เป็นลบเพิ่มเติมและลดระบบอสมการนี้ให้เป็นระบบสมการที่เท่ากัน

.

ตัวแปรเพิ่มเติมที่นำมาใช้เป็นตัวแปรหลักเนื่องจากในกรณีนี้จะพบวิธีแก้ปัญหาพื้นฐานของระบบได้ง่าย แล้วและเป็นตัวแปรรอง

เราได้แสดงตัวแปรหลักในแง่ของตัวแปรที่ไม่ใช่พื้นฐาน

ดังนั้น การแบ่งตัวแปรออกเป็นระดับพื้นฐานและไม่ใช่พื้นฐาน จึงสอดคล้องกับวิธีแก้ปัญหาพื้นฐาน ซึ่งไม่ถูกต้อง (ตัวแปรสองตัวเป็นค่าลบ) ดังนั้นจึงไม่เหมาะสม มาเริ่มกันต่อจากโซลูชันพื้นฐานนี้ไปเป็นโซลูชันที่ปรับปรุงแล้วกัน

ในการตัดสินใจว่าควรย้ายตัวแปรใดจากตัวแปรที่ไม่ใช่ตัวหลักไปยังตัวการ ให้พิจารณาสมการใดสมการหนึ่งที่มีอยู่ของระบบสุดท้ายที่มีพจน์ว่างเชิงลบ ตัวอย่างเช่น สมการที่สอง มันแสดงให้เห็นและสามารถแปลเป็นตัวแปรหลักได้ เนื่องจากในสมการนี้พวกมันมีค่าสัมประสิทธิ์บวก (ดังนั้น เมื่อมันเพิ่มขึ้น และสิ่งนี้จะเกิดขึ้นถ้าเราแปลพวกมันเป็นตัวแปรหลัก ตัวแปรจะเพิ่มขึ้น)

ลองแปลเป็นตัวแปรหลักกัน ในการพิจารณาว่าตัวแปรใดควรถูกถ่ายโอนจากตัวแปรหลักไปยังตัวแปรพื้นฐาน เราจะหาค่าสัมบูรณ์ของอัตราส่วนที่น้อยที่สุดของสมาชิกอิสระของระบบต่อสัมประสิทธิ์ที่ เรามี . ได้มาจากสมการที่สาม ซึ่งแสดงว่าตัวแปรนั้นต้องถูกแปลงเป็นตัวแปรที่ไม่ใช่พื้นฐาน ซึ่งเป็นค่าบวกในคำตอบพื้นฐานดั้งเดิม ดังนั้น โซลูชันพื้นฐานที่ได้รับ เช่นเดียวกับโซลูชันดั้งเดิม มีองค์ประกอบเชิงลบสองส่วน กล่าวคือ จะไม่มีการปรับปรุงในการเปลี่ยนไปใช้โซลูชันพื้นฐานดังกล่าว

วิธีซิมเพล็กซ์− เป็นวิธีการแจงนับแบบสั่งของแผนอ้างอิง (การสั่งซื้อได้รับการประกันโดยการเปลี่ยนแปลงที่ซ้ำซากจำเจในมูลค่าของฟังก์ชันวัตถุประสงค์ในระหว่างการเปลี่ยนไปใช้แผนถัดไป) ในกรณีนี้ จำเป็นต้องปฏิบัติตามหลักการ: ขั้นตอนต่อไปแต่ละขั้นควรปรับปรุง หรือในกรณีที่ร้ายแรง ไม่ทำให้ค่าของฟังก์ชันวัตถุประสงค์แย่ลง

เพื่อแก้ปัญหา LLP วิธีซิมเพล็กซ์มันถูกลดขนาดเป็นรูปแบบบัญญัติเช่น จากข้อ จำกัด - ความไม่เท่าเทียมกันจำเป็นต้องสร้างข้อ จำกัด - ความเท่าเทียมกัน เมื่อต้องการทำเช่นนี้ ข้อจำกัดแต่ละข้อจะถูกเสริมด้วยเพิ่มเติมที่ไม่เป็นลบ ตัวแปรงบดุลด้วยเครื่องหมาย “+” หากเครื่องหมายอสมการคือ “£” และใช้เครื่องหมาย “–” หากเครื่องหมายอสมการคือ “³”

ในฟังก์ชันวัตถุประสงค์ ตัวแปรเพิ่มเติมเหล่านี้ป้อนค่าสัมประสิทธิ์เป็นศูนย์ เช่น รายการฟังก์ชันเป้าหมายจะไม่เปลี่ยนแปลง ตัวแปรแต่ละตัวที่ไม่อยู่ภายใต้เงื่อนไขที่ไม่เป็นลบสามารถแสดงเป็นความแตกต่างของตัวแปรที่ไม่เป็นลบสองตัว:

หากข้อจำกัดของงานสะท้อนถึงการมีอยู่และการใช้ทรัพยากร ค่าตัวเลขของตัวแปรเพิ่มเติมในแผนงานซึ่งเขียนในรูปแบบบัญญัติจะเท่ากับจำนวนทรัพยากรที่ไม่ได้ใช้

ในการแก้ปัญหาด้วยวิธีซิมเพล็กซ์ เราจะใช้ ตารางซิมเพล็กซ์ที่สั้นลงของระบบสมการเชิงเส้นและวิธีกำจัดจอร์แดนที่แก้ไขแล้ว.

1. เราจัดทำแผนพื้นฐานแผนแรก

ภารกิจยังคงเหมือนเดิม ให้เรานำรูปแบบมาตรฐานของระบบอสมการ (1) มาอยู่ในรูปแบบบัญญัติของระบบสมการโดยการเพิ่มตัวแปรสมดุลเพิ่มเติม x 3 , x 4 , x 5 ,x 6 .

ในแง่เศรษฐศาสตร์ ค่าของตัวแปรเพิ่มเติม x 3 , x 4 , x 5 กำหนดความสมดุลของวัตถุดิบหลังการขายผลิตภัณฑ์

เมทริกซ์ของระบบผลลัพธ์ของสมการมีรูปแบบดังนี้

จะเห็นได้ว่าในเมทริกซ์ อาฐานรองของลำดับที่ 4 คือดีเทอร์มีแนนต์ ประกอบด้วยสัมประสิทธิ์หน่วยสำหรับตัวแปรเพิ่มเติม x 3 , x 4 , x 5 ,x 6 เนื่องจากไม่เป็นศูนย์และเท่ากับ 1 ซึ่งหมายความว่าเวกเตอร์คอลัมน์สำหรับตัวแปรเหล่านี้มีความเป็นอิสระเชิงเส้น กล่าวคือ รูปร่าง พื้นฐานและตัวแปรที่เกี่ยวข้อง x 3 , x 4 , x 5 ,x 6 คือ ขั้นพื้นฐาน(ขั้นพื้นฐาน). ตัวแปร x 1 , x 2 จะถูกเรียกว่า ฟรี(ส่วนน้อย).

ถ้าตัวแปรอิสระ x 1 และ x 2 เพื่อตั้งค่าที่แตกต่างกัน จากนั้น แก้ระบบด้วยความเคารพต่อตัวแปรพื้นฐาน เราได้รับชุดโซลูชันเฉพาะจำนวนไม่จำกัด หากตั้งค่าเพียงศูนย์สำหรับตัวแปรอิสระจากนั้นจากชุดโซลูชันเฉพาะที่ไม่มีที่สิ้นสุด โซลูชั่นพื้นฐาน- แผนพื้นฐาน

เพื่อหาว่าตัวแปรสามารถเป็นตัวแปรพื้นฐานได้หรือไม่ จำเป็นต้องคำนวณดีเทอร์มีแนนต์ที่ประกอบด้วยสัมประสิทธิ์ของตัวแปรเหล่านี้ หากดีเทอร์มีแนนต์นี้ไม่เท่ากับศูนย์ ตัวแปรเหล่านี้เป็นตัวแปรพื้นฐานได้


จำนวนคำตอบพื้นฐานและจำนวนกลุ่มของตัวแปรพื้นฐานที่สอดคล้องกันต้องไม่เกิน โดยที่ คือจำนวนตัวแปรทั้งหมด rคือจำนวนตัวแปรพื้นฐาน r.

สำหรับงานของเรา r = 4; = 6. จากนั้น กล่าวคือ ตัวแปรพื้นฐานได้ 15 กลุ่มจาก 4 ตัวแปร (หรือ 15 คำตอบพื้นฐาน)

ให้เราแก้ระบบสมการเทียบกับตัวแปรพื้นฐาน x 3 , x 4 , x 5 ,x 6:

สมมติว่าตัวแปรอิสระ x 1 = 0, x 2 = 0 เราได้รับค่าของตัวแปรพื้นฐาน: x 3 = 312; x 4 = 15; x 5 = 24;x 6 = -10 นั่นคือ คำตอบพื้นฐานจะเป็น = (0; 0; 312; 15; 24; -10)

วิธีแก้ปัญหาพื้นฐานนี้คือ รับไม่ได้, เพราะ x 6 = –10 ≤ 0 และโดยเงื่อนไขข้อจำกัด x 6 ≥ 0 ดังนั้น แทนที่จะเป็นตัวแปร x 6 เป็นพื้นฐาน คุณต้องใช้ตัวแปรอื่นจากตัวแปรอิสระ x 1 หรือ x 2 .

เราจะดำเนินการแก้ไขเพิ่มเติมโดยใช้ตารางซิมเพล็กซ์แบบย่อ เติมแถวของตารางแรกด้วยค่าสัมประสิทธิ์ของระบบดังนี้ (ตารางที่ 1):

ตารางที่ 1

F- สตริงเรียกว่า ดัชนี. เต็มไปด้วยค่าสัมประสิทธิ์ฟังก์ชันวัตถุประสงค์ที่มีเครื่องหมายตรงข้าม เนื่องจากสมการของฟังก์ชันสามารถแสดงเป็น F = 0 – (– 4x 1 – 3x 2).

ในคอลัมน์สมาชิกอิสระ ข ฉันมีองค์ประกอบเชิงลบ 4 = -10 นั่นคือ การแก้ปัญหาของระบบไม่ถูกต้อง เพื่อให้ได้โซลูชันที่ถูกต้อง (แผนพื้นฐาน) องค์ประกอบ 4 ต้องทำให้ไม่เป็นลบ

เลือก x 6 - บรรทัดที่มีสมาชิกติดลบฟรี บรรทัดนี้มีองค์ประกอบเชิงลบ เลือกอย่างใดอย่างหนึ่ง เช่น "-1" ใน x 1 -คอลัมน์ และ x 1 - คอลัมน์ยอมรับเป็น คอลัมน์อนุญาต(มันจะกำหนดว่าตัวแปร x 1 จะเปลี่ยนจากฟรีเป็นพื้นฐาน)

เราแบ่งปันสมาชิกฟรี ข ฉันในองค์ประกอบที่เกี่ยวข้อง เป็นกำลังแก้ไขคอลัมน์ เราจะได้ การประเมินความสัมพันธ์Θ ผม==(24, 15, 12, 10) ของเหล่านี้ เราเลือกค่าบวกที่น้อยที่สุด (minΘ ผม=10) ซึ่งจะตรงกับ สายการอนุญาต. สตริงการอนุญาตกำหนดตัวแปร x jซึ่งในขั้นตอนต่อไปจะยื่นออกมาจากพื้นฐานและกลายเป็นอิสระ นั่นเป็นเหตุผลที่ x 6 -line เป็นบรรทัดที่อนุญาต และองค์ประกอบ "-1" คือ องค์ประกอบที่เปิดใช้งาน. เราวงกลมมัน ตัวแปร x 1 และ x 6 ถูกเปลี่ยน

อัตราส่วนโดยประมาณ Θ ผมในแต่ละบรรทัดถูกกำหนดโดยกฎ:

1) Θ ผม= ถ้า ข ฉันและ เป็นมีสัญญาณต่างกัน

2) Θ ผม= ∞ ถ้า ข ฉัน= 0 และ เป็น < 0;

3) Θ ผม= ∞ ถ้า เป็น = 0;

4) Θ ผม= 0 ถ้า ข ฉัน= 0 และ เป็น > 0;

5) Θ ผม= ถ้า ข ฉันและ เป็นมีสัญญาณเดียวกัน

เราใช้ขั้นตอนของการกำจัด Jordanian elimination (MJJI) ที่แก้ไขด้วยองค์ประกอบที่อนุญาตและรวบรวมตารางใหม่ (ตารางที่ 2) ตามกฎต่อไปนี้:

1) แทนที่องค์ประกอบการแก้ไข (RE) ค่าจะถูกตั้งค่าผกผันเช่น ;

2) องค์ประกอบของเส้นอนุญาตแบ่งออกเป็น RE;

3) องค์ประกอบของคอลัมน์แก้ไขแบ่งออกเป็น RE และเครื่องหมายเปลี่ยนไป

4) พบองค์ประกอบที่เหลือตามกฎสี่เหลี่ยมผืนผ้า:

จากตาราง. 2 แสดงว่าสมาชิกฟรีใน ข ฉัน-คอลัมน์ไม่เป็นค่าลบ ดังนั้นจึงได้วิธีแก้ปัญหาเบื้องต้นที่ยอมรับได้ - แผนฐานแรก= (10; 0; 182; 5; 4; 0). ในกรณีนี้ ค่าของฟังก์ชัน F() = 40. ในทางเรขาคณิต ตรงกับยอด F(10; 0) สารละลายรูปหลายเหลี่ยม (รูปที่ 1)

ตารางที่ 2

2. เราตรวจสอบแผนเพื่อความเหมาะสมแผนฐานไม่เหมาะสมเพราะใน F-line มีค่าสัมประสิทธิ์เป็นลบ "-4" เราปรับปรุงแผน

3. หาเส้นฐานใหม่

เราเลือกองค์ประกอบการอนุญาตตามกฎ:

เราเลือกค่าสัมประสิทธิ์เชิงลบที่น้อยที่สุดใน F-line "-4" ซึ่งกำหนดคอลัมน์ที่เปิดใช้งาน - x 6; ตัวแปร x 6 แปลเป็นพื้นฐาน;

เราหาอัตราส่วน Θ ผมในหมู่พวกเขาเราเลือกค่าบวกที่เล็กที่สุดซึ่งสอดคล้องกับสตริงที่อนุญาต:

นาที Θ ผม = นาที(14, 5, 2, ∞) = 2 ดังนั้น x 5 - บรรทัด - อนุญาต, ตัวแปร x 5 เราแปลเป็นฟรี (ตัวแปร x 5 และ xสลับกัน 6 ตัว)

ที่จุดตัดของแถวและคอลัมน์ที่อนุญาตคือองค์ประกอบที่อนุญาต "2";

เราทำตามขั้นตอน SHMZhI เราสร้างตาราง 3 ตามกฎข้างต้นและรับแผนอ้างอิงใหม่ = (12; 0; 156; 3; 0; 2)

ตารางที่ 3

4. ตรวจสอบแผนพื้นฐานใหม่เพื่อความเหมาะสม

แผนฐานยังไม่เหมาะสมเนื่องจากใน F-line มีค่าสัมประสิทธิ์เป็นลบ "-1" ค่าฟังก์ชัน F() = 48 ซึ่งสอดคล้องกับยอดทางเรขาคณิต อี(12; 0) สารละลายรูปหลายเหลี่ยม (รูปที่ 1) เราปรับปรุงแผน

5. หาเส้นฐานใหม่

x 2 คอลัมน์ได้รับอนุญาตเนื่องจากใน F-line ค่าสัมประสิทธิ์เชิงลบที่เล็กที่สุด "-1" อยู่ใน x 2 คอลัมน์ (Δ 2 = -1) หาที่เล็กที่สุด Θ ผม: นาที Θ ผม = นาที(≈ 9, 6, ∞, 24) = 6 ดังนั้น xบรรทัดที่ 4 - อนุญาต องค์ประกอบอนุญาต "1/2" การสลับตัวแปร x 2 และ xสี่. เราทำตามขั้นตอน SHMZhI เราสร้างตาราง 4 เราได้รับแผนอ้างอิงใหม่ = (9; 6; 51; 0; 0; 5)

6. การตรวจสอบแผนพื้นฐานเพื่อความเหมาะสม

ที่ F-line สัมประสิทธิ์ทั้งหมดไม่เป็นค่าลบ ดังนั้น แผนอ้างอิงจึงเหมาะสมที่สุด ทางเรขาคณิตสอดคล้องกับจุด ดี(9;6) (ดูรูปที่ 1) แผนที่เหมาะสมจะให้ค่าสูงสุดของฟังก์ชันวัตถุประสงค์ c.u.

หลัก แนวคิดของวิธีการแบบซิมเพล็กซ์ในการแก้ปัญหา LLPประกอบด้วยการปรับปรุงโซลูชั่นการสนับสนุน LLP อย่างสม่ำเสมอ

มีหลายวิธีในการเขียนวิธีซิมเพล็กซ์

  1. รูปแบบพื้นฐานของวิธีซิมเพล็กซ์
  2. วิธี Simplex ในรูปแบบของตาราง Simplex
  3. แก้ไขวิธีซิมเพล็กซ์;
  4. วิธี Simplex ในรูปแบบคอลัมน์
  5. วิธี Simplex ในรูปแบบแถว

มากำหนดค่าสูงสุดของฟังก์ชันวัตถุประสงค์ F(X) = 3x 1 +5x 2 +4x 3 ภายใต้เงื่อนไขข้อจำกัดต่อไปนี้
0.1x 1 +0.2x 2 +0.4x 3 ≤1100
0.05x 1 +0.02x 2 +0.02x 3 ≤120
3x1 +x2 +2x3 ≤8000

ในการสร้างแผนอ้างอิงแรก เราลดระบบความไม่เท่าเทียมกันให้เป็นระบบสมการโดยการแนะนำตัวแปรเพิ่มเติม (การเปลี่ยนผ่านเป็นรูปแบบบัญญัติ)
0.1x1 + 0.2x2 + 0.4x3 + 1x4 + 0x5 + 0x6 = 1100
0.05x1 + 0.02x2 + 0.02x3 + 0x4 + 1x5 + 0x6 = 120
3x1 + 1x2 + 2x3 + 0x4 + 0x5 + 1x6 = 8000

สัญกรณ์พื้นฐานของวิธีซิมเพล็กซ์

การแก้ปัญหาดำเนินการโดยการแสดงตัวแปรพื้นฐานผ่านตัวแปรที่ไม่ใช่พื้นฐาน:
x0 = 3x1 +5x2 +4x3
x 4 = 1100-0.1x 1 -0.2x 2 -0.4x 3
x 5 = 120-0.05x 1 -0.02x 2 -0.02x 3
x 6 = 8000-3x 1 -x 2 -2x 3

วิธีซิมเพล็กซ์ในรูปแบบของตารางซิมเพล็กซ์

การแก้ปัญหาจะดำเนินการในรูปแบบของตารางซิมเพล็กซ์ แบบฟอร์มนี้ออกแบบมาสำหรับการคำนวณบนคอมพิวเตอร์ เมื่อใช้พื้นฐานเทียม จะใช้หมายเลขพิเศษ M (ปกติคือ 10,000)
วางแผน พื้นฐาน ที่ x 1 x2 x 3 x4 x5 x6 นาที
1 x4 1100 0.1 0.2 0.4 1 0 0 5500
x5 120 0.05 0.02 0.02 0 1 0 6000
x6 8000 3 1 2 0 0 1 8000
เส้นดัชนี เอฟ(X1) 0 -3 -5 -4 0 0 0 0
2 x2 5500 0.5 1 2 5 0 0 11000
x5 10 0.04 0 -0.02 -0.1 1 0 250
x6 2500 2.5 0 0 -5 0 1 1000
เส้นดัชนี เอฟ(X2) 27500 -0.5 0 6 25 0 0 0
3 x2 5375 0 1 2.25 6.25 -12.5 0 11000
x1 250 1 0 -0.5 -2.5 25 0 250
x6 1875 0 0 1.25 1.25 -62.5 1 1000
เส้นดัชนี เอฟ(X3) 27625 0 0 5.75 23.75 12.5 0 0

แก้ไขวิธีซิมเพล็กซ์

เมทริกซ์สัมประสิทธิ์ A = a ij

เมทริกซ์ข.

การวนซ้ำ #1.
= (4, 5, 6)

เมทริกซ์ค.
ค = (-3, -5, -4, 0, 0, 0)
ค ข = (0, 0, 0)
ค ยังไม่มีข้อความ = (-3, -5, -4)

เราคำนวณ:
เมทริกซ์ B -1 คำนวณผ่านการบวกพีชคณิต

ยู = ค ข ข -1 = (0, 0, 0)

วิธี Simplex ในรูปแบบคอลัมน์

เราส่งผ่านไปยังรูปแบบคอลัมน์ของวิธีซิมเพล็กซ์ เราแสดงตัวแปรแต่ละตัวในรูปของตัวแปรที่ไม่ใช่เบส
x 0 = 0-3(-x 1)-5(-x 2)-4(-x 3)+0(-x 4)+0(-x 5)+0(-x 6)
x 1 = 0-1(-x 1)+0(-x 2)+0(-x 3)+0(-x 4)+0(-x 5)+0(-x 6)
x 2 = 0+0(-x 1)-1(-x 2)+0(-x 3)+0(-x 4)+0(-x 5)+0(-x 6)
x 3 = 0+0(-x 1)+0(-x 2)-1(-x 3)+0(-x 4)+0(-x 5)+0(-x 6)
x 4 = 1100+0.1(-x 1)+0.2(-x 2)+0.4(-x 3)+1(-x 4)+0(-x 5)+0(-x 6)
x 5 = 120+0.05(-x 1)+0.02(-x 2)+0.02(-x 3)+0(-x 4)+1(-x 5)+0(-x 6)
x 6 = 8000+3(-x 1)+1(-x 2)+2(-x 3)+0(-x 4)+0(-x 5)+1(-x 6)

ระบบนี้สอดคล้องกับตาราง T 0 .

0 -1 0 0
0 0 -1 0
0 0 0 -1
1100 0.1 0.2 0.4
120 0.05 0.02 0.02
8000 3 1 2
0 -3 -5 -4

เมธอด Simplex ในรูปแบบสตริง

เป็นฐานที่ยอมรับได้เบื้องต้น เราสามารถหา B 0 = . ได้<4, 5, 6>. มันจะสอดคล้องกับตารางต่อไปนี้
1100 0.1 0.2 0.4 1 0 0
120 0.05 0.02 0.02 0 1 0
8000 3 1 2 0 0 1
0 -3 -5 -4 0 0 0

เมทริกซ์ Q ประกอบด้วยสัมประสิทธิ์ของระบบเรียกว่า ตารางซิมเพล็กซ์สอดคล้องกับฐาน B. ฉากซิมเพล็กซ์เรียกว่า ยอมรับได้, หรือ ยอมรับได้โดยตรงถ้า q i0 ≥ 0 องค์ประกอบ q i0 ของแถวสุดท้ายของตารางซิมเพล็กซ์ Q ถูกเรียก ประมาณการสัมพัทธ์.

รูปแบบของการแก้ปัญหาโดยวิธีการพื้นฐานเทียม

สำหรับการใช้ตัวแปรเทียมที่นำมาใช้ในฟังก์ชันวัตถุประสงค์ จะมีการกำหนดโทษที่เรียกว่า M ซึ่งเป็นจำนวนบวกที่มาก ซึ่งมักจะไม่ได้ระบุ
ผลลัพธ์ที่ได้เรียกว่าเทียม และวิธีการแก้ปัญหาเรียกว่าวิธีการพื้นฐานเทียม
นอกจากนี้ ตัวแปรเทียมไม่เกี่ยวข้องกับเนื้อหาของงาน แต่อนุญาตให้คุณสร้างจุดเริ่มต้น และกระบวนการปรับให้เหมาะสมจะบังคับให้ตัวแปรเหล่านี้ใช้ค่าศูนย์และรับรองการยอมรับของโซลูชันที่เหมาะสมที่สุด

รูปแบบของการแก้ปัญหาโดยวิธีการพื้นฐานเทียม:

  1. M-method (ตารางแบบง่าย);
  2. วิธีซิมเพล็กซ์แบบสองขั้นตอนหรือสองเฟส (สัญกรณ์พื้นฐาน วิธีโมดิฟายซิมเพล็กซ์ วิธีซิมเพล็กซ์ในรูปแบบคอลัมน์ วิธีซิมเพล็กซ์ในรูปแบบเส้น)

หากมีข้อ จำกัด เกี่ยวกับเครื่องหมาย ≥ ในเงื่อนไขของปัญหา พวกเขาสามารถลดลงเป็นรูปแบบ ∑a ji b j โดยคูณความไม่เท่าเทียมกันทั้งสองส่วนด้วย -1 เราแนะนำตัวแปรเพิ่มเติม m ตัว x n+j ≥0(j =1,m ) และแปลงข้อจำกัดให้อยู่ในรูปของความเท่าเทียมกัน

(2)

สมมุติว่าตัวแปรเริ่มต้นทั้งหมดของปัญหา x 1 , x 2 ,..., x n นั้นไม่ใช่เบสิก จากนั้นตัวแปรเพิ่มเติมจะเป็นพื้นฐานและโซลูชันเฉพาะสำหรับระบบข้อ จำกัด มีรูปแบบ

x 1 = x 2 = ... = x n = 0, x n+ j = b j , j =1,m . (3)

เนื่องจากในกรณีนี้ค่าของฟังก์ชันเป้าหมาย F 0 = 0 เราสามารถแทน F(x) ได้ดังนี้:

F(x)=∑c ผม x ผม + F 0 =0 (4)

ตารางซิมเพล็กซ์เริ่มต้น (ตารางซิมเพล็กซ์ 1) ถูกคอมไพล์ตามสมการ (2) และ (4) หากตัวแปรเพิ่มเติม x n+j นำหน้าด้วยเครื่องหมาย "+" เช่นใน (2) สัมประสิทธิ์ทั้งหมดก่อนตัวแปร x i และพจน์ว่าง b j จะถูกป้อนลงในตารางซิมเพล็กซ์โดยไม่มีการเปลี่ยนแปลง ค่าสัมประสิทธิ์ของฟังก์ชันเป้าหมายในระหว่างการขยายให้ใหญ่สุดจะถูกป้อนในบรรทัดล่างสุดของตารางซิมเพล็กซ์ที่มีเครื่องหมายตรงข้ามกัน สมาชิกอิสระในตารางซิมเพล็กซ์กำหนดวิธีแก้ปัญหา

อัลกอริทึมสำหรับการแก้ปัญหามีดังนี้:

ขั้นตอนที่ 1 องค์ประกอบของคอลัมน์สมาชิกอิสระจะถูกค้นหา หากทั้งหมดเป็นบวก แสดงว่าพบโซลูชันพื้นฐานที่ยอมรับได้ และควรดำเนินการในขั้นตอนที่ 5 ของอัลกอริทึม ซึ่งสอดคล้องกับการค้นหาโซลูชันที่เหมาะสมที่สุด หากมีเงื่อนไขเชิงลบใน simplex tableau เริ่มต้น แสดงว่าวิธีแก้ปัญหานั้นไม่ถูกต้อง และคุณควรไปที่ขั้นตอนที่ 2

ขั้นตอนที่ 2 เพื่อหาแนวทางแก้ไขที่เป็นไปได้ ให้ดำเนินการ ในขณะที่จำเป็นต้องตัดสินใจว่าจะรวมตัวแปรที่ไม่ใช่พื้นฐานตัวใดในเกณฑ์พื้นฐาน และตัวแปรใดที่จะถอนออกจากเกณฑ์

ตารางที่ 1.

x น
ตัวแปรพื้นฐาน สมาชิกฟรีในข้อจำกัด ตัวแปรที่ไม่ใช่พื้นฐาน
x 1 x2 ... x l ...
xn+1 ข 1 11 12 ... 1l ... 1n
xn+2 ข2 21 22 ... 2l ... 2n
. . . . . . . .
. . . . . . . .
. . . . . . . .
xn+r b2 r1 r2 ... rl ... rn
. . . . . . . .
. . . . . . . .
. . . . . . . .
xn+m ข m m1 m2 ... aml ... amn
F(x)แม็กซ์ F0 -c 1 -c 2 ... -c 1 ... -c n

ในการทำเช่นนี้ เลือกองค์ประกอบเชิงลบใดๆ ของคอลัมน์ของสมาชิกอิสระ (ปล่อยให้เป็น b 2 นำหรืออนุญาต หากไม่มีองค์ประกอบเชิงลบในแถวที่มีสมาชิกอิสระเชิงลบ ระบบข้อจำกัดจะไม่สอดคล้องกันและ ปัญหาไม่มีวิธีแก้ไข

ในเวลาเดียวกัน ตัวแปรที่เป็นคนแรกที่เปลี่ยนเครื่องหมายด้วยการเพิ่มขึ้นของ NP x l ที่เลือกจะไม่รวมอยู่ใน BP นี่จะเป็น x n+r ซึ่งดัชนี r ถูกกำหนดจากเงื่อนไข

เหล่านั้น. ตัวแปรที่สอดคล้องกับอัตราส่วนที่เล็กที่สุดของเทอมว่างกับองค์ประกอบของคอลัมน์นำหน้าที่เลือก ความสัมพันธ์นี้เรียกว่า ความสัมพันธ์แบบซิมเพล็กซ์ ควรพิจารณาความสัมพันธ์เชิงบวกเท่านั้น

สตริงที่สอดคล้องกับตัวแปร x n+r เรียกว่า เป็นผู้นำหรืออนุญาต องค์ประกอบของตาราง simplex a rl ซึ่งอยู่ที่จุดตัดของแถวนำและคอลัมน์นำหน้าเรียกว่าองค์ประกอบนำหน้าหรือองค์ประกอบการแก้ไขการค้นหาองค์ประกอบนำสิ้นสุดการทำงานด้วยฉากซิมเพล็กซ์ถัดไป

ขั้นตอนที่ 3 มีการคำนวณตารางแบบซิมเพล็กซ์ใหม่ ซึ่งองค์ประกอบจะคำนวณใหม่จากองค์ประกอบของตารางแบบซิมเพล็กซ์ของขั้นตอนก่อนหน้าและทำเครื่องหมายด้วยจำนวนเฉพาะ เช่น b" j, a" ji, c" i, F" 0. องค์ประกอบจะถูกคำนวณใหม่ตามสูตรต่อไปนี้:

ขั้นแรก แถวและคอลัมน์ที่นำหน้าในตารางซิมเพล็กซ์ก่อนหน้าจะถูกเติมในตารางซิมเพล็กซ์ใหม่ นิพจน์ (5) หมายความว่าองค์ประกอบ a "rl แทนที่องค์ประกอบชั้นนำเท่ากับส่วนกลับขององค์ประกอบของตาราง simplex ก่อนหน้า องค์ประกอบของแถว a ri ถูกหารด้วยองค์ประกอบนำและองค์ประกอบของ คอลัมน์ a jl จะถูกหารด้วยองค์ประกอบนำหน้าเช่นกันแต่จะมีเครื่องหมายตรงข้าม องค์ประกอบ b" r และ c" l ถูกคำนวณตามหลักการเดียวกัน

สูตรที่เหลือสามารถเขียนได้ง่ายๆ โดยใช้ .

สี่เหลี่ยมผืนผ้าถูกสร้างขึ้นตามตารางซิมเพล็กซ์แบบเก่าในลักษณะที่หนึ่งในแนวทแยงของมันถูกสร้างขึ้นโดยองค์ประกอบที่คำนวณใหม่ (a ji) และองค์ประกอบนำ (a rl) (รูปที่ 1) เส้นทแยงมุมที่สองถูกกำหนดอย่างเฉพาะเจาะจง ในการค้นหาองค์ประกอบใหม่ a "ji ผลิตภัณฑ์ขององค์ประกอบของเส้นทแยงมุมตรงข้ามหารด้วยองค์ประกอบนำหน้าจะถูกลบออกจากองค์ประกอบ a ji (ซึ่งแสดงด้วยเครื่องหมาย" - "ที่เซลล์) ในทำนองเดียวกันองค์ประกอบ b" j, (j≠r) และ c" i ถูกคำนวณใหม่ (i≠l)

ขั้นตอนที่ 4 การวิเคราะห์ตารางซิมเพล็กซ์ใหม่เริ่มจากขั้นตอนที่ 1 ของอัลกอริทึม การดำเนินการจะดำเนินต่อไปจนกว่าจะพบวิธีแก้ปัญหาพื้นฐานที่เป็นไปได้ กล่าวคือ องค์ประกอบทั้งหมดของคอลัมน์สมาชิกอิสระต้องเป็นค่าบวก

ขั้นตอนที่ 5 เราเชื่อว่าพบวิธีแก้ปัญหาพื้นฐานที่ยอมรับได้ เราดูที่สัมประสิทธิ์ของเส้นของฟังก์ชันเป้าหมาย F(x) สัญญาณของความเหมาะสมของตารางแบบซิมเพล็กซ์คือค่าที่ไม่ใช่ค่าลบของสัมประสิทธิ์สำหรับตัวแปรที่ไม่เป็นพื้นฐานในแถว F

ข้าว. 1. กฎสี่เหลี่ยมผืนผ้า

หากในสัมประสิทธิ์ของแถว F มีค่าลบ (ยกเว้นระยะว่าง) คุณต้องไปที่โซลูชันพื้นฐานอื่น เมื่อเพิ่มฟังก์ชันเป้าหมายสูงสุด พื้นฐานจะรวมตัวแปรที่ไม่ใช่พื้นฐาน (เช่น x l) ซึ่งคอลัมน์จะสอดคล้องกับค่าสัมบูรณ์สูงสุดของสัมประสิทธิ์เชิงลบ c l ในแถวล่างสุดของตารางซิมเพล็กซ์ วิธีนี้ช่วยให้คุณเลือกตัวแปรที่การเพิ่มขึ้นนำไปสู่การปรับปรุงฟังก์ชันเป้าหมายได้ คอลัมน์ที่สอดคล้องกับตัวแปร x l เรียกว่าคอลัมน์นำหน้า ในเวลาเดียวกัน ตัวแปร x n+r นั้นถูกแยกออกจากฐาน ดัชนี r ซึ่งถูกกำหนดโดยอัตราส่วนซิมเพล็กซ์ขั้นต่ำ:

แถวที่สอดคล้องกับ x n+r เรียกว่า แถวนำหน้า และองค์ประกอบของตารางซิมเพล็กซ์ a rl ซึ่งอยู่ที่จุดตัดของแถวนำและคอลัมน์นำหน้า เรียกว่า องค์ประกอบชั้นนำ

ขั้นตอนที่ 6 ตามกฎที่กำหนดไว้ในขั้นตอนที่ 3 ขั้นตอนจะดำเนินต่อไปจนกว่าจะพบวิธีแก้ปัญหาที่เหมาะสมหรือสรุปได้ว่าไม่มีอยู่จริง

หากในกระบวนการเพิ่มประสิทธิภาพโซลูชันในคอลัมน์นำหน้า องค์ประกอบทั้งหมดไม่เป็นค่าบวก จะไม่สามารถเลือกแถวนำหน้าได้ ในกรณีนี้ ฟังก์ชันในโดเมนของการแก้ปัญหาที่ยอมรับได้จะไม่ถูกจำกัดจากด้านบนและ F max ->&∞

หากในขั้นตอนต่อไปของการค้นหาตัวแปรพื้นฐานตัวใดตัวหนึ่งมีค่าเท่ากับศูนย์ โซลูชันพื้นฐานที่เกี่ยวข้องจะเรียกว่าเสื่อมสภาพ ในกรณีนี้การวนซ้ำที่เรียกว่าเกิดขึ้นซึ่งมีลักษณะของความจริงที่ว่าการรวมกันของ BP แบบเดียวกันเริ่มทำซ้ำด้วยความถี่ที่แน่นอน (ในกรณีนี้ค่าของฟังก์ชัน F จะถูกรักษาไว้) และไม่สามารถเปลี่ยนเป็น โซลูชันพื้นฐานใหม่ที่ยอมรับได้ การวนรอบเป็นข้อเสียเปรียบหลักของวิธีซิมเพล็กซ์ แต่ก็ค่อนข้างหายาก ในทางปฏิบัติ ในกรณีเช่นนี้ เรามักจะปฏิเสธที่จะป้อนตัวแปรพื้นฐานซึ่งคอลัมน์นั้นสอดคล้องกับค่าสัมบูรณ์สูงสุดของสัมประสิทธิ์เชิงลบในฟังก์ชันเป้าหมาย และสุ่มเลือกวิธีแก้ปัญหาพื้นฐานใหม่

ตัวอย่างที่ 1 แก้ปัญหา

สูงสุด (F(x) = -2x 1 + 5x 2 | 2x 1 + x 2 ≤7; x 1 + 4x 2 ≥8; x 2 ≤4; x 1.2 ≥0)

วิธี Simplex และให้การตีความทางเรขาคณิตของกระบวนการแก้ปัญหา

การตีความแบบกราฟิกของการแก้ปัญหาแสดงในรูปที่ 2. ถึงค่าสูงสุดของฟังก์ชันเป้าหมายที่ด้านบนของ ODZP พร้อมพิกัด มาแก้ปัญหาโดยใช้ตารางซิมเพล็กซ์ เราคูณข้อ จำกัด ที่สองด้วย (-1) และแนะนำตัวแปรเพิ่มเติมเพื่อนำความไม่เท่าเทียมกันมาสู่รูปแบบของความเท่าเทียมกัน

ตัวแปรเริ่มต้น x 1 และ x 2 ถือเป็นตัวแปรพื้นฐาน และตัวแปรเพิ่มเติม x 3 , x 4 และ x 5 ถือเป็นพื้นฐาน และเรารวบรวมตารางแบบซิมเพล็กซ์ (ตารางแบบซิมเพล็กซ์ 2) โซลูชันที่สอดคล้องกับตารางซิมเพล็กซ์ 2 ไม่ถูกต้อง; องค์ประกอบชั้นนำถูกร่างและเลือกตามขั้นตอนที่ 2 ของอัลกอริทึมด้านบน แท็บซิมเพล็กซ์ถัดไป 3 กำหนดโซลูชันพื้นฐานที่ยอมรับได้ 2 องค์ประกอบชั้นนำถูกร่างและเลือกตามขั้นตอนที่ 5 ของอัลกอริทึมสำหรับการแก้ปัญหา แท็บ 4 สอดคล้องกับวิธีแก้ปัญหาที่ดีที่สุดของปัญหา ดังนั้น: x 1 = x 5 = 0; x 2 \u003d 4; x 3 \u003d 3; x 4 = 8; F สูงสุด = 20

ข้าว. 2. การแก้ปัญหาแบบกราฟิก



ใหม่บนเว็บไซต์

>

ที่นิยมมากที่สุด