วิธีเริม แนวคิดหลัก ขั้นตอนการค้นหาวิธีแก้ไข อัลกอริธึมของวิธีการ วิธี Simplex สำหรับการแก้ PLP แนวคิดทั่วไปของวิธีซิมเพล็กซ์

ลองพิจารณาดู วิธีการสากลแนวทางแก้ไขปัญหา Canonical การเขียนโปรแกรมเชิงเส้น

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

ชุดแผนสำหรับปัญหาตามรูปแบบบัญญัติคือชุดรูปทรงหลายเหลี่ยมนูนที่มีจุดมุมจำนวนจำกัด และหากปัญหานี้มีทางออกที่ดีที่สุด ก็แสดงว่าบรรลุผลสำเร็จที่มุมหนึ่งเป็นอย่างน้อย

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

การวนซ้ำจุดมุมทั้งหมดมีราคาแพงในการคำนวณ ดังนั้นจึงไม่ได้ผล ในปี 1947 J. Dantzig ได้เสนอขั้นตอนที่เป็นระเบียบในการแจกแจงจุดมุม ซึ่งเพียงพอที่จะตรวจสอบเพียงส่วนเล็กๆ เพื่อหาวิธีแก้ปัญหาที่ดีที่สุด ขั้นตอนนี้เรียกว่า วิธีเริม.

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

ปรากฎว่าการแทนที่ทางเรขาคณิตดังกล่าวนำไปสู่การเปลี่ยนจากจุดมุมหนึ่งไปยังจุดที่อยู่ติดกัน (ใกล้เคียง) ที่เกี่ยวข้องกับ จุดก่อนหน้าขอบทั่วไป

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

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

· ขั้นตอนที่ 0- การกำหนดพื้นฐานเริ่มต้นและจุดมุมเริ่มต้นที่สอดคล้องกัน (เส้นพื้นฐาน)

· ขั้นตอนที่ 1- การตรวจสอบพื้นฐานปัจจุบันเพื่อความเหมาะสมที่สุด . หากเป็นไปตามเกณฑ์การเพิ่มประสิทธิภาพ ที่ แผนนี้เหมาะสมที่สุดและการแก้ปัญหาก็เสร็จสมบูรณ์ มิฉะนั้นไปที่ขั้นตอนที่ 2

· ขั้นตอนที่ 2- การค้นหาตัวแปรที่นำมาใช้กับตัวแปรพื้นฐาน (จากเงื่อนไขการเพิ่มฟังก์ชันวัตถุประสงค์)

· ขั้นตอนที่ 3- การค้นหาตัวแปรที่แยกออกจากตัวแปรพื้นฐาน (จากเงื่อนไขการรักษาข้อจำกัดของปัญหา)

· ขั้นตอน 4 - ค้นหาพิกัดของเส้นฐานใหม่ (จุดมุมที่อยู่ติดกัน) ไปที่ขั้นตอนที่ 1

ทำซ้ำขั้นตอนที่ 1-4 ในรูปแบบการวนซ้ำของวิธีซิมเพล็กซ์

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

คำนิยาม- เราจะบอกว่าปัญหา Canonical LP มี "รูปแบบที่ต้องการ" ถ้า

1. ด้านขวามือของสมการ .

2. เมทริกซ์เงื่อนไขประกอบด้วยเมทริกซ์ย่อยหน่วยที่มีขนาด

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

ตัวอย่างที่ 2.1

เมทริกซ์เงื่อนไข และเวกเตอร์ของด้านขวามือของข้อจำกัด ดูเหมือน

และเวกเตอร์เป้าหมาย c = (1, -3, 0, 4, 2)

เมทริกซ์พื้นฐานหนึ่งนั้นชัดเจนทันที: ด้วยเวกเตอร์หน่วยของเงื่อนไข

ดังนั้นการเลือกเป็นตัวแปรพื้นฐาน x 1 , x 3 ,x 5 , และใส่ระบบสมการลงไป x 2 = x 4 = 0 (ตัวแปรที่ไม่ใช่พื้นฐาน) , เราพบมันทันที x 1 = 10,x 3 = 20,x 5 = 8 ดังนั้นเป็นพื้นฐานเริ่มต้น x 0 = (10, 0, 20, 0, 8). เราจะเห็นว่าค่าของตัวแปรพื้นฐานเท่ากับด้านขวามือของข้อจำกัด จากนี้ชัดเจนว่าฝั่งขวาจะต้องเป็นบวก ฉัน .

ในอนาคต เราจะรวมตัวแปรพื้นฐานให้เป็นเวกเตอร์ x บี.

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

x บี = .

สำหรับแผนพื้นฐานประเภทนี้ สามารถกำหนดเกณฑ์การเพิ่มประสิทธิภาพที่ง่ายพอที่จะทดสอบได้ เรามาแนะนำปริมาณกัน

? เจ = < с บี , ก เจ > - ค เจ , เจ = 1,...,n,(2.1)

ที่ไหน กับ บี- เวกเตอร์ของสัมประสิทธิ์ของฟังก์ชันวัตถุประสงค์สำหรับตัวแปรพื้นฐาน x บี , เจ -เจ-ไทย คอลัมน์เมทริกซ์เงื่อนไข เจ -เจ-ค่าสัมประสิทธิ์ของฟังก์ชันวัตถุประสงค์ ความแตกต่าง ? เจเรียกว่าผลต่างเชิงเริมหรือค่าประมาณเชิงเริม

เกณฑ์การเพิ่มประสิทธิภาพสำหรับแผนพื้นฐาน- ถ้าเป็นแผนพื้นฐานแบบมียูนิต เมทริกซ์พื้นฐานการประมาณการด้านซิมเพล็กซ์ทั้งหมดไม่เป็นลบ ดังนั้นแผนนี้จึงเหมาะสมที่สุด

ให้เราใช้เกณฑ์นี้เพื่อตรวจสอบความเหมาะสมของแผนพื้นฐาน x 0 = (10, 0, 20, 0, 8) จากตัวอย่างที่ 2.1

เนื่องจากในเรื่องนี้เวกเตอร์ของตัวแปรพื้นฐาน x บี =(x 1 , x 3 ,x 5 ), ที่ กับ บี = ( 1 , 3 , 5 ) = (1, 0, 2).


เพราะฉะนั้น,

? 1 = < с บี , ก 1 > - ค 1 = 1 1 + 0 0 + 2 0 - 1= 0,

2 = < сБ, A2 >- c2 = 1 3 + 0 1 + 2 2 - (-3) = 10,

? 3 = < с บี , ก 3 > - ค 3 = 1 0 + 0 1 + 2 0 - 0= 0,

? 4 = < с บี , ก 4 > - ค 4 = 1 (-1) + 0 5 + 2 1 - 4= -3,

? 5 = < с บี , ก 5 > - ค 5 = 1 0 + 0 0 + 2 1 - 2= 0.

นับตั้งแต่มีการประเมิน ? 4 < 0, то базисный план x 0 ไม่เหมาะที่สุด โปรดทราบว่าค่าประมาณด้านซิมเพล็กซ์ที่สอดคล้องกับตัวแปรพื้นฐานจะเท่ากับศูนย์เสมอ ดังนั้นจึงเพียงพอแล้วที่จะตรวจสอบเฉพาะค่าประมาณที่ไม่ใช่ค่าพื้นฐานเท่านั้น

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

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

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

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

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

วิธีซิมเพล็กซ์แก้ปัญหา LP ใน แบบฟอร์มมาตรฐาน.

ย่อเล็กสุด (ขยายใหญ่สุด) ฟังก์ชันภายใต้เงื่อนไข x > 0; ขวาน = ข.

เมทริกซ์ A เป็นของจริงและมีมิติ x "และอันดับ ต.

ปัญหา LP ที่กำหนดสามารถเขียนได้ในรูปแบบ

จากการบันทึกปัญหา LP ในรูปแบบ (8L) เราสามารถพูดได้ว่าเมทริกซ์แบบขยาย

ขนาด (ที + 1) (น + 2) สอดคล้องกับวิธีแก้ปัญหา[x/] เสื้อ

ลองแทนเมทริกซ์ A เป็นเซตของคอลัมน์กัน

เนื่องจากเมทริกซ์ A มีอันดับ ที,แล้วจะมี คอลัมน์อิสระเชิงเส้นของเมทริกซ์ A ตัวอย่างเช่น (a U1 ,...,a U/u พิจารณาเวกเตอร์ x° > 0 เพื่อให้ทั้งหมดนั้น พี - ทีองค์ประกอบคือ 0 และ Ax° = b ให้สิ่งเหล่านี้เป็นองค์ประกอบที่มีตัวเลข..., ฉัน n_mให้เราสมมติด้วยว่าตำแหน่ง aw ของคอลัมน์อิสระเชิงเส้นของเมทริกซ์ A สอดคล้องกับตำแหน่งขององค์ประกอบที่ไม่เป็นศูนย์ในเวกเตอร์ 0 ในเชิงเรขาคณิต ตามข้อความที่ 3 ของมาตรา 7.6 หมายความว่า x° คือจุดยอด (มุม) ของ ODR และยังเป็นไปตามเงื่อนไขที่กำหนดอีกด้วย วิธีแก้ปัญหานี้เรียกว่า วิธีแก้ปัญหาพื้นฐานที่ยอมรับได้มุมของชุดที่ยอมรับได้คือ วิธีแก้ปัญหาพื้นฐานที่ยอมรับได้

โปรดจำไว้ว่าชุดวิธีแก้ปัญหาพื้นฐานประกอบด้วยข้อมูลทั้งหมดที่จำเป็นสำหรับการแก้ปัญหา LP อย่างเหมาะสมที่สุด สำหรับกรณีสองมิติที่พิจารณาใน § 7.6 คำตอบพื้นฐานคือทั้งหมด 6 คะแนน และคำตอบพื้นฐานที่ยอมรับได้คือคะแนน ล, วี,ศรี 0.

ดังนั้น เวกเตอร์ x ใดๆ ที่คล้ายกับ x° สามารถเขียนได้เป็น

ที่ไหน x เข้า- เวกเตอร์ที่มีองค์ประกอบสอดคล้องกับคอลัมน์อิสระเชิงเส้นของเมทริกซ์ A เอ็กซ์เอฟ -เวกเตอร์ที่มีองค์ประกอบเป็นศูนย์

ขอให้เรานิยามเวกเตอร์ในทำนองเดียวกัน

ตัวแปรที่เป็นองค์ประกอบของเวกเตอร์ x ในถูกเรียก ตัวแปรพื้นฐานและตัวแปรที่เป็นองค์ประกอบของเวกเตอร์ x เอฟถูกเรียก ฟรี (ไม่ใช่พื้นฐาน) ตัวแปร

เพราะ x° เอฟ=0 แล้วค่าของฟังก์ชันวัตถุประสงค์สำหรับเวกเตอร์เริ่มต้น x° จะเท่ากับ

โดยที่ /° คือค่าของ / ที่จุด x°

เรียกว่าสารละลาย (8.1) ในรูปแบบ [x°/°]t สำหรับ x > 0 วิธีแก้ปัญหาที่ชัดเจน (ชัดเจน)ดังนั้น หากเราตั้งค่าตัวแปรที่ไม่ใช่พื้นฐานให้เป็นศูนย์ เราจะได้คำตอบที่ชัดเจน

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

ที่นี่เมทริกซ์ B สอดคล้องกัน คอลัมน์อิสระเชิงเส้น มีมิติ tx เสื้อและอันดับ ที,และเมทริกซ์ F

เป็น เท็กซัส (พี - ที)เมทริกซ์ เนื่องจากเมทริกซ์ B ประกอบด้วยคอลัมน์อิสระเชิงเส้น จึงมีค่าผกผัน B -1 และ detB φ 0 โปรดทราบว่าในการสร้างเมทริกซ์ B คุณสามารถเลือกอะไรก็ได้ คอลัมน์อิสระเชิงเส้นของเมทริกซ์ A

ให้เรานำเสนอปัญหา (8.1) โดยคำนึงถึงสัญกรณ์ที่แนะนำ

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

ตามมาที่ไหน

ถ้าเวกเตอร์ x วีจะเป็นคำตอบของระบบ Bx d = b จากนั้นจะเป็นคำตอบพื้นฐาน หากยังมีความไม่เท่าเทียมกันอยู่ วี= B -1 b > O แล้ว x เข้าจะเป็นทางออกที่ยอมรับได้

ดังนั้น, โซลูชั่นปัจจุบันเป็นไปตามสมการต่อไปนี้:

ลองพิจารณาเมทริกซ์ (8.4) ตัวแปรพื้นฐานจะนำเสนอใน อย่างชัดเจนถ้าเราแทนที่เมทริกซ์ B ด้วยเมทริกซ์เอกลักษณ์ I เมื่อคูณแถวแรกของเมทริกซ์ (8.4) ทางซ้ายด้วย B~ 1 เราจะได้

โดยที่ B_1 b > O เช่น องค์ประกอบด้านบนในคอลัมน์ด้านขวาไม่เป็นค่าลบและแสดงถึงค่าปัจจุบันของตัวแปร

ด้านซ้าย บรรทัดบนสุดผลลัพธ์คือเมทริกซ์หน่วย: B -1 B = I การนำเสนอครั้งนี้สะดวกมากตั้งแต่เมื่อคูณด้วยเวกเตอร์ x เข้าแต่ละตัวแปรจะอยู่ในบรรทัดที่แยกจากกัน

ดังนั้น วิธีแก้ปัญหาพื้นฐานซึ่งเราจะพิจารณาว่ายอมรับได้และสอดคล้องกับพื้นฐาน B คือ x m = [x ใน 0] โดยที่ x ใน == B_1 ข. การแก้ปัญหาเบื้องต้นเกิดจากการสันนิษฐานว่า x ฟ = 0. อย่างไรก็ตาม ถ้า xF* 0 ดังนั้น x^ สามารถคำนวณได้เป็น x 5 = = B~"b - B^"Fx/r การแทนที่นิพจน์นี้เป็น ฟังก์ชั่นเป้าหมาย(ฟังก์ชันต้นทุน) เราได้

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

โดยที่ค่าของฟังก์ชันวัตถุประสงค์สำหรับศตวรรษเริ่มต้นคือ

พรู x 0 จาก (8.3)

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

การใช้ตารางซิมเพล็กซ์ทำให้ง่ายต่อการดูวิธีแก้ปัญหาที่เป็นไปได้ ตัวแปร x F สอดคล้องกับเมทริกซ์ย่อยศูนย์ ตัวแปร x เข้า- เมทริกซ์หน่วย:

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

แล้ว - การแก้ปัญหา (8.1) ดังนั้น

เช่น b > โอ้ นี่เป็นวิธีแก้ปัญหาพื้นฐานที่ยอมรับได้

ให้เรานำเสนอเมทริกซ์ (8.9) ในรูปแบบที่สะดวกยิ่งขึ้น โดยคงสัญกรณ์พื้นฐานไว้:

ให้เราพิจารณาปัญหาของการขยายใหญ่สุดและการย่อเล็กสุดแยกกัน

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

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

ตัวอย่างเช่น: ให้แผนอ้างอิง X =(x1,x2,…,xm,0,0,…,0) และระบบที่เกี่ยวข้องของเวกเตอร์อิสระเชิงเส้น: A1,A2,…,ฉันเป็นที่รู้จัก ดังนั้นสำหรับแผนอ้างอิงนี้ คุณสามารถคำนวณค่า CF Z=(c1x1+c2x2+…+cmxm) และจดเงื่อนไขข้อจำกัดไว้ใน แบบฟอร์มต่อไปนี้ x1A1+x2A2+…+xmAm=b

เนื่องจากเวกเตอร์ A1, A2,…, Am มีความเป็นอิสระเชิงเส้น เวกเตอร์ Aj ใดๆ จึงสามารถขยายเป็นเวกเตอร์เหล่านี้ได้: Aj=x1jA1+x2jA2+…+xmjAm (*) ให้เราแนะนำค่า Zj Zj=x1jc1+x2jc2+…+ xmjcm โดยที่ xij คือสัมประสิทธิ์ที่สอดคล้องกับ Ai ในเวกเตอร์ส่วนขยาย Aj ด้วยเวกเตอร์พื้นฐาน

ทฤษฎีบทที่ 1: การปรับปรุงแผนอ้างอิง

หากดัชนี j บางตัวเป็นไปตามเงื่อนไข Zj-Cj>0 ค่าของ CF ก็สามารถลดลงได้ และ:

· ถ้า CF ถูกจำกัดจากด้านล่าง ก็สามารถสร้างแผนอ้างอิงที่มีค่า CF น้อยลงได้ เช่นเดียวกับค่า CF ก่อนหน้า

· หาก TF ไม่ได้ถูกจำกัดจากด้านล่าง ก็เป็นไปได้ที่จะสร้างแผนที่สอดคล้องกับค่า TF ที่น้อยตามอำเภอใจ

ทฤษฎีบทที่ 2: เกณฑ์การปรับให้เหมาะสมที่สุดสำหรับแผนอ้างอิง

ถ้าสำหรับดัชนี j บางตัวในแผนอ้างอิงความไม่เท่าเทียมกัน Zj-Cj0 ปล่อยให้เวกเตอร์ Ak บรรลุค่าต่ำสุดนี้ แล้วเวกเตอร์นี้จะต้องได้มาจากฐาน เส้นตรงที่สอดคล้องกับเวกเตอร์นี้เรียกว่าเส้นบอกแนวและเขียนว่า "à"

4. หลังจากกำหนดเส้นบอกแนวคอลัมน์และแถวแล้ว ให้กรอกตารางซิมเพล็กซ์ใหม่ ในตารางดังกล่าว Ai จะปรากฏแทนที่เส้นบอกแนว การกรอก ตารางใหม่เริ่มต้นด้วยเส้นแนะนำ เนื่องจากเป็นส่วนประกอบของแผนอ้างอิง ค่า gest0 X'l=og0=Xk/Xkl จะถูกเขียนไว้ที่นั่น องค์ประกอบที่เหลือของบรรทัดนี้จะถูกกำหนดโดยสูตร X'lj X'lj=Xkj/Xkl โดยที่ Xkl เป็นองค์ประกอบ ตั้งอยู่ที่จุดตัดของเส้นบอกแนวแถวและคอลัมน์ โดยเฉพาะองค์ประกอบเดิมทั้งหมดของเส้นบอกแนวจะถูกแบ่งออก และหน่วยจะปรากฏขึ้นโดยอัตโนมัติในตำแหน่งขององค์ประกอบ Xkl เดิม กฎทั่วไปหากต้องการคำนวณเส้นบอกแนวใหม่ให้เขียนได้ดังนี้ Ak (องค์ประกอบใหม่ของเส้นบอกแนว) = (องค์ประกอบเก่าของเส้นบอกแนว)/(องค์ประกอบยืนอยู่ที่จุดตัดของคอลัมน์และแถวนำ)

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

· สำหรับส่วนประกอบของแผนอ้างอิง X'i=Xi-̨0Xil=Xi-(Xk/Xkl)*Xil

· สำหรับส่วนประกอบที่ขยายตามพื้นฐาน X'ij=Xij-(Xkj/Xkl)*Xil

· สำหรับ บรรทัดเพิ่มเติม Z'j-Cj=(Zj-Cj)-(Xkj/Xkl)*(Zl-Cl)

สูตรทั้งหมดนี้สร้างขึ้นตามกฎข้อเดียว:

(อีเมลใหม่)=(อีเมลเก่า)-(อีเมลทิศทางของแถวใหม่)*(อีเมลทิศทางสำหรับคอลัมน์ในแถวที่เกี่ยวข้อง)

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

วิธีธรรมชาติและ พื้นฐานเทียม- แนวคิดพื้นฐาน อัลกอริธึมของวิธีการ

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

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

ให้มันได้รับ ZLP ตามบัญญัติแบบฟอร์ม

F: C1X1=C2X2+…+CnXnàmin

a11x1+a21x2+…+an1xn=b1

a12x1+a22x2+…+an2xn=b2

…………………………

a1mx1+a2mx2+…+anmxn=bm

จากนั้นจึงแปลงเป็นแบบฟอร์ม

F: C1X1+C2X2+…+CnXn+MXn=1+MXn+2+…+MXn+มามิน

a11x1+a21x2+…+an1xn+xn+1=b1

a12x1+a22x2+…+an2xn+xn+2=b2

……………………………….

a1mx1+a2mx2+…+anmxn+xn+m=bm

โดยที่ M ไม่มีที่สิ้นสุด ตัวเลขใหญ่- ในปัญหาที่เกิดขึ้น พื้นฐานเริ่มต้นจะมองเห็นได้ทันที ควรพิจารณาเวกเตอร์ที่มีตัวแปรนำเข้า xn+1, xn+2,…, xn+m แทน เนื่องจากเวกเตอร์เหล่านี้จะมีรูปแบบ: (1,0,0,…,0),(0,1,0,…,0),(0,0,…,1) ปัญหาที่แปลงแล้วได้รับการแก้ไขโดยใช้อัลกอริธึมวิธีซิมเพล็กซ์ แผนอ้างอิงเบื้องต้นของปัญหาการแปลงมีรูปแบบ (0,0,…,0,xn+1,xn+2,…,xn+m)=(0,0,…,0,b1,b2,…, บีเอ็ม) ตาราง Simplex ดั้งเดิมมีลักษณะดังนี้:

พื้นฐาน ค่าสัมประสิทธิ์ ซีเอฟ วางแผน ค1 ค2 ซีเอ็น
A1 A2 หนึ่ง อัน+1 อัน+2 อัน+ม
อัน+1 ข1 ก11 ก21 อัน1 1 0 0
อัน+2 ข2 ก12 ก22 อัน2 0 1 0
อัน+ม บีเอ็ม ก1ม เอทูม เช้า 0 0 1
Z0

เรากำหนดองค์ประกอบของบรรทัดเพิ่มเติมโดยใช้สูตร Z0=Mb1+Mb2+…+Mbm=∑mi=1Mbi=M∑ni=1bi

เพื่อกำหนดความแตกต่าง Zj=a11M+Ma12+…+Ma1m=M∑mj=1aij V i=1,n

Zj-Cj=M∑mj=1aij-Cj

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

เนื่องจากเอ็มเป็นอย่างมาก จำนวนมากจากนั้นในบรรดาความแตกต่าง Zj-Cj จะมีจำนวนบวกมากมาย นั่นคือจะมีผู้สมัครจำนวนมากที่จะรวมไว้ในพื้นฐานระหว่างเวกเตอร์ A1,A2,…,An

หากเวกเตอร์บางตัวสอดคล้องกับตัวแปรที่แนะนำอย่างผิด ๆ xn+1,xn+2,…,xn+m ดังนั้นเวกเตอร์ที่สอดคล้องกันจะได้มาจากพื้นฐาน และคอลัมน์ซิมเพล็กซ์ของตารางที่มีเวกเตอร์นี้จะถูกขีดฆ่าออกและจะไม่ส่งคืน ไปที่มันอีกครั้ง ในตอนท้ายของการแปลงตารางด้านเดียว มีสองตัวเลือกที่เป็นไปได้:

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

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

ปัญหาการเขียนโปรแกรมเชิงเส้นคู่ คำชี้แจงปัญหาคุณสมบัติของพวกเขา

ปัญหาคู่สมมาตร:

แบบฟอร์มมาตรฐานครั้งแรก

f(x)=c1x1+c2x2+…+cnxnàmin

a11x1+a21x2+…+an1xn>=b1

a12x1+a22x2+…+an2xn>=b2

…………………………………………..

a1mx1+a2mx2+…+anmxn>=bm

ปัญหาคู่

d(y)=b1y1+b2y2+…+บีมายมาแม็กซ์

a11y1+a12y2+…+a1mym=0, V เจ=1,ม

คู่ที่ไม่ใช่เซปเทนารีของปัญหาคู่

ปัญหาเดิมๆใน. รูปแบบบัญญัติ

f(x)=c1x1+c2x2+…+cnxnàmin

a11x1+a21x2+..+an1xn=b1

a12x1+a22x2+..+an2xn=b2

…………………………..

2. การแนะนำตัวแปรพื้นฐานทางธรรมชาติ การสร้างโต๊ะซิมเพล็กซ์ คำจำกัดความของแผนศูนย์

วิธีเริม อัลกอริทึมของวิธีซิมเพล็กซ์

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

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

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

อัลกอริธึมวิธี Simplex

1. เรานำระบบข้อจำกัดมาสู่รูปแบบมาตรฐาน (เมื่อระบบถูกจำกัด) นอกจากนี้ยังสามารถระบุพื้นฐานเดียวในระบบได้

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

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

4. บี ตารางเริมเราตรวจสอบเวกเตอร์เพื่อหาค่าลบ เช่น การประเมิน Zj – ชเขียนในบรรทัดจะต้องเป็น ≤ 0 (อย่างน้อยที่สุด) Zj – Сj ≥ 0(ให้สูงสุด) หากการประมาณการเป็นไปตามเงื่อนไขการปรับให้เหมาะสมที่สุด ปัญหาก็จะได้รับการแก้ไข

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

สูงสุด[θ 0 เจ (Zj – Сj)] ; นาที[θ 0 เจ (Zj – Сj)] ; θ 0 เจ = นาที, ที่ไหน x ฉัน> 0

องค์ประกอบเวกเตอร์ θ เจซึ่งสอดคล้องกัน θ 0 เจเรียกว่าอนุญาต; แถวและคอลัมน์ที่อยู่นั้นเรียกว่าไกด์ เวกเตอร์ในแถวไกด์จะออกจากฐาน

6. จงหาค่าสัมประสิทธิ์การขยายตัวของเวกเตอร์ทั้งหมดโดยใช้พื้นฐานใหม่ ลองใช้วิธี Giordano Gauss กัน

เรามาตรวจสอบแผนอ้างอิงที่เหมาะสมที่สุดกัน หากการประมาณการเป็นไปตามเงื่อนไขการปรับให้เหมาะสมที่สุด ปัญหาก็จะได้รับการแก้ไข หากไม่เป็นเช่นนั้น ให้ดำเนินการตามขั้นตอนที่ 5-7

2. การแนะนำตัวแปรพื้นฐานทางธรรมชาติ การสร้างโต๊ะซิมเพล็กซ์ คำจำกัดความของแผนศูนย์

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

บริษัทจำหน่าย nกลุ่มผลิตภัณฑ์มี วัสดุและทรัพยากรทางการเงินมีจำกัด ฉัน ≥0 (1 ≤ ฉัน≤ ม.) ทราบต้นทุนทรัพยากรของทุกคนแล้ว ฉัน- ประเภทการผลิตและการขายหน่วยสินค้าของแต่ละกลุ่มแสดงในรูปของเมทริกซ์ ( ij) และกำไรที่วิสาหกิจได้รับจากการขายสินค้าหนึ่งหน่วย เจ-group รวมอยู่ในฟังก์ชั่นวัตถุประสงค์ ซี(เอ็กซ์- วิธีการเขียนโปรแกรมเชิงเส้นไม่แตกต่างจากระบบ (1) - (2):

Z(X) = с 1 Р 1 + с 2 Р 2 + с 3 Р 3 + … +с n Р n →สูงสุด(นาที) (1)

ก 11 X 1 + ก 12 X 2 +…ก 1n X n ≤ ข 1

ก 21 X 1 + ก 22 X 2 +…ก 2n X n ≤ ข 2 (2)

a m1 X 1 + a m2 X 2 +…a mn X n ≤ b m,

X 1 ≥0 X 2 ≥0 X 3 ≥0 …Xn ≥0

ขั้นตอนการแก้ปัญหาโดยใช้วิธีซิมเพล็กซ์ ได้แก่ :

1) จัดทำแผนอ้างอิงเป็นศูนย์ เราแนะนำตัวแปรที่ไม่เป็นลบ (พื้นฐาน) ใหม่ ซึ่งทำให้ระบบอสมการ (2) กลายเป็นระบบสมการ:

a 11 X 1 + a 12 X 2 +…a 1n X n + X n+1 = b 1

a 21 X 1 + a 22 X 2 +…a 2n X n + X n+2 = b 2 (3)

……………………………………..

ก m1 X 1 + ก m2 X 2 +…a mn X n + X n+m = b ม.

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

X n+1 = b 1, -a 11 X 1 - a 12 X 2 -…a 1n X n

X n+2 = b 2 - a 21 X 1 - a 22 X 2 -…a 2n X n (4)

………………………………………..

X n+m = b m, - a m1 X 1 + a m2 X 2 +…a mn X n

เราเขียนฟังก์ชันวัตถุประสงค์ใหม่ในรูปแบบ

ซี(X) = 0-(-с 1 Р 1 -с 2 Р 2 -с 3 Р 3 -…-с n Р n) (5)

สมมติว่าตัวแปรหลักที่ต้องการ X 1 = X 2 = X 3 = ... = X n = 0 เราจะได้แผนอ้างอิงที่เป็นศูนย์ X = (0, 0, ...0, b 1, b 2, b 3 ... b m) โดยที่ Z(X) = 0 (ทรัพยากรทั้งหมดในสต็อก ไม่มีการผลิตเลย) เราใส่แผนลงในตารางซิมเพล็กซ์

วางแผน พื้นฐาน ซี ฉัน /ซี เจ ความหมาย เอ็กซ์ ฉัน เอ็กซ์ 1 เอ็กซ์ 2 Xn Xn+1 Xn+2 Xn+3 คิวนาที
Xn+1 ข 1 11 12 13 ข 1/ก 12
Xn+2 ข 2 21 22 23 ข 2 / ก 22
Xn+3 ข 3 31 32 33 ข 3 / ก 32
ซี(X) = 0 -ค 1 - ค 2 - ค 3 ดัชนี. เส้น

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

3) การเปลี่ยนไปใช้แผนใหม่ดำเนินการอันเป็นผลมาจากการคำนวณตารางซิมเพล็กซ์ใหม่โดยใช้วิธี Jordan-Gauss ขั้นแรก เราแทนที่ X j ในฐานด้วย X i ของคอลัมน์นำหน้า ให้เราแบ่งองค์ประกอบทั้งหมดของเส้นนำด้วยองค์ประกอบการแก้ไข (RE) ซึ่งเป็นผลมาจากการที่ตำแหน่งของ RE ในเส้นนำจะเป็น 1 เนื่องจาก X i กลายเป็นพื้นฐาน ค่าสัมประสิทธิ์ที่เหลือจะต้องเท่ากับ 0. พบองค์ประกอบใหม่ของแผนนี้ตามกฎรูปสี่เหลี่ยมผืนผ้า

NE=SE – (A*B)/RE (6)

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

ตัวอย่าง.มีการจัดสรรเงิน 20,000 รูเบิลสำหรับการซื้ออุปกรณ์สำหรับสถานที่ผลิต สามารถวางอุปกรณ์ได้บนพื้นที่ไม่เกิน 72 ตร.ม. สามารถสั่งอุปกรณ์ได้ 2 แบบ คือ แบบ A ต้องการพื้นที่การผลิต 6 ตร.ม. และจำนวน 6 พันยูนิต สินค้าต่อกะ (ราคา 5,000 รูเบิล) และประเภท B ต้องการพื้นที่ 12 ตร.ม. และผลิตได้ 3,000 หน่วย (ราคา 2,000 รูเบิล) แผนการซื้ออุปกรณ์ที่เหมาะสมที่สุดเพื่อให้แน่ใจว่าคืออะไร ประสิทธิภาพสูงสุดพล็อต?

ให้เราแสดงปริมาณของอุปกรณ์ที่ซื้อประเภท A และ B ด้วย X 1 และ X 2 ตามลำดับ

ผลผลิตของไซต์งาน (ฟังก์ชันวัตถุประสงค์): Z(X) =6X 1 +3X 2

ข้อจำกัดหลักมีความเกี่ยวข้องกัน

ด้วยเงินสด: 5X 1 +2X 2 ≤ 20,

โดยมีพื้นที่ไซต์การผลิต: 6H 1 +12H 2 ≤ 72

เราแนะนำตัวแปรพื้นฐานใหม่ X 3 (ส่วนที่เหลือ เงินสดหลังจากซื้ออุปกรณ์) และ X 4 (พื้นที่คงเหลือหลังการจัดวางอุปกรณ์) และเขียนข้อจำกัดใหม่ในรูปแบบของระบบสมการ:

5X 1 +2X 2 +X 3 =20 (X 3 =20 – 5X 1 - 2X 2)

6X 1 +12X 2 +X 4 = 72 (X 4 =72 – 6X 1 – 12X 2)

ในกรณีนี้ ฟังก์ชันเป้าหมาย: Z(X) = 6X 1 +3X 2 +0X 3 +0X 4

เราจัดทำแผนอ้างอิง (ที่ 0): X = (0, 0, 20, 72) เช่น ยังไม่ได้ซื้ออะไรเลย (ยังไม่มีการใช้เงิน พื้นที่ว่างเปล่า) การทำตารางซิมเพล็กซ์

วางแผน พื้นฐาน ซี ฉัน /ซี เจ ความหมาย เอ็กซ์ ฉัน เอ็กซ์ 1 เอ็กซ์ 2 เอ็กซ์ 3 เอ็กซ์ 4 คิวนาที
เอ็กซ์ 3 20/5=4
เอ็กซ์ 4 72/6=12
ซี(X) = 0 - 6 - 3 เส้นดัชนี
→เอ็กซ์ 1 0,4 0,2 4/0,4=10
เอ็กซ์ 4 9,6 -1,2 48/9,6=5
Z(X) = 6*4=24 -0,6 1,2 เส้นดัชนี
เอ็กซ์ 1 0,25 -1/24 -
→เอ็กซ์ 2 -1/8 5/48 -
Z(X) =6*2+3*5=27 9/8 1/16 เส้นดัชนี

แน่นอนว่าคอลัมน์นำหน้าสอดคล้องกับ X 1 เนื่องจากมีดัชนีที่ใหญ่ที่สุด 6 เราค้นหาค่าต่ำสุดของ Q min = 4 (ข้อจำกัดด้านทรัพยากรที่รุนแรงที่สุด) โดยการกำหนดแถวนำที่แสดงว่า X 3 ได้มาจากตัวแปรพื้นฐาน และ X จะถูกป้อนแทน 1 เราคำนวณองค์ประกอบของเส้นนำหน้าใหม่โดยหารด้วย 5 และใช้สูตร (6) เพื่อกำหนดองค์ประกอบของเส้นที่สองและเส้นดัชนี ฟังก์ชันวัตถุประสงค์ของแผนที่ 1 เท่ากับ Z(X) = 6*4+3*0 = 24

อย่างไรก็ตาม ค่าสัมประสิทธิ์หนึ่งของแถวดัชนีสำหรับคอลัมน์ X 2 ยังคงเป็นลบ -0.6 ดังนั้น แผนนี้ไม่เหมาะสมและจำเป็นต้องทำซ้ำ (ขั้นตอน) อื่นเพื่อปรับปรุง เลือกคอลัมน์ที่ 2 เป็นผู้นำและ ค่าต่ำสุด Q min = 5 เรากำหนดเส้นนำด้วยตัวแปรพื้นฐาน X 4 เมื่อทำการแปลงแบบเดียวกันแล้วเราได้แผนที่ 2 ซึ่งจะเหมาะสมที่สุดเนื่องจากค่าสัมประสิทธิ์ดัชนีทั้งหมดเป็นค่าบวก

มาวิเคราะห์ผลลัพธ์ที่ได้รับ ที่ ทางออกที่ดีที่สุดฟังก์ชันวัตถุประสงค์มี ค่าสูงสุด 27,000 รูเบิล ในขณะที่ทรัพยากรทั้งสองถูกลบออกจากฐานดังนั้นจึงใช้ไปจนหมด

ตรวจสอบให้แน่ใจ: 5*2+2*5 = 20,000 รูเบิล 6*2+12*5=72 ตร.ม. วิธีแก้ไขที่ต้องการคือ X = (2; 5;0;0) สิ่งนี้ไม่ได้เกิดขึ้นเสมอไป

การบรรยายครั้งที่ 10

หัวข้อ: วิธี Simplex สำหรับปัญหาพื้นฐานเทียม

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

i1 X 1 + i2 X 2 +…a ใน X n ≥ b i (1)

หรือสมการ:

i1 X 1 + i2 X 2 +…a ใน X n = b i (1*)

จึงไม่สามารถรับแผนอ้างอิงในรูปแบบที่ต้องการได้ ในกรณีนี้ เราขอแนะนำเพื่อให้สอดคล้องกับความเท่าเทียมกัน (1*) พื้นฐานเทียม i และตัวแปรประดิษฐ์ไม่เกี่ยวข้องโดยตรงกับเนื้อหาของงาน แต่ทำให้สามารถสร้างแผนอ้างอิง (เริ่มต้น):

i1 X 1 + i2 X 2 +…a ใน X n +Y i = b i (2)

ฟังก์ชันวัตถุประสงค์เมื่อแก้ไขปัญหาให้สูงสุดจะถูกเขียนในรูปแบบ:

Z(X) =∑C เจ X เจ +(-M)∑Y ผม (3)

เมื่อแก้ไขปัญหาที่คล้ายกันอย่างน้อยที่สุด:

Z(X)=∑C เจ X เจ +(M)∑Y ผม (3*)

โดยที่ M มีขนาดใหญ่มาก จำนวนบวกซึ่งเป็นบทลงโทษสำหรับการใช้ตัวแปรเทียม

ในกรณีของความไม่เท่าเทียมกัน (1) ในตอนแรกเราจะแนะนำตัวแปรเพิ่มเติม X n + i ด้วยเครื่องหมายลบ เมทริกซ์ของพวกมันจะไม่รวมกัน ดังนั้นในแต่ละความไม่เท่าเทียมกันของระบบ (1) เราจึงแนะนำตัวแปรเทียม У i:

i1 X 1 +a i2 X 2 +…a ใน X n –X n+i +Y i =b i (4)

ฟังก์ชันวัตถุประสงค์ในกรณีนี้คือ Z(X)=∑C j X j +0∑X n + i +(-M)∑Y i (เพื่อหาค่าสูงสุด) การใช้พื้นฐานเทียมทำให้วิธีซิมเพล็กซ์มีความยืดหยุ่นมากขึ้น และช่วยให้นำไปใช้กับปัญหาได้หลากหลาย

ตัวอย่าง . กำหนดค่ากำไรสูงสุดและต่ำสุดสำหรับการผลิตผลิตภัณฑ์ A และ B สองประเภทหากระบุต้นทุนการผลิตและความสามารถในการทำกำไรจากการขายหน่วยผลิตภัณฑ์ไว้ในตาราง เงื่อนไขหลักคือการจ้างคนงานในองค์กรอย่างเต็มรูปแบบ

ในทางคณิตศาสตร์ ข้อจำกัดผลผลิตจะถูกเขียนในรูปแบบของระบบผสม:

1X 1 + 1X 2 ≤ 6,

2X 1 + 1X 2 =8

ให้เราแนะนำตัวแปรพื้นฐาน X 3 สำหรับอสมการแรก และตัวแปรเทียม Y 1 สำหรับสมการที่สอง:

1X 1 + 1X 2 + X 3 = 6

2X 1 + 1X 2 +Y 1 =8

ให้เราแสดง X 3 และ Y 1 จากระบบสมการผลลัพธ์ และเพื่อกำหนดค่าสูงสุด ลองจินตนาการถึงฟังก์ชันวัตถุประสงค์:

Z(X)= 3X 1 + 2X 2 +0X 3 –MY 1 = 3X 1 + 2X 2 –M(8 -2X 1 –X 2)=

3X 1 + 2X 2 –8M +2MX 1 + MX 2 = (2M + 3)X 1 + (M + 2)X 2 -8M

สำหรับแผนอ้างอิง - X=(0,0,6,8) มาสร้างตาราง Simplex กันดีกว่า:

วางแผน พื้นฐาน ซี ฉัน /ซี เจ ความหมาย เอ็กซ์ ฉัน เอ็กซ์ 1 เอ็กซ์ 2 เอ็กซ์ 3 ใช่ 1 คิวนาที
เอ็กซ์ 3 6/1=6
ใช่ 1 -ม 8/2=4
ซี(X) = -8M -2M-3 -เอ็ม-2 เส้นดัชนี
เอ็กซ์ 3 0,5 -0,5 2/0,5=4
→เอ็กซ์ 1 0,5 0,5 4/0,5=8
Z(X) = 3*4=12 - 0,5 ม+1.5 เส้นดัชนี
→เอ็กซ์ 2 -1 -
เอ็กซ์ 1 -1 -
Z(X) =3*2+2*4=14 ม+1 เส้นดัชนี

ตามกฎแล้ว การปรับปรุงแผนอ้างอิงเริ่มต้นด้วยการลบตัวแปรเทียม Y 1 ออกจากพื้นฐาน ได้รับแผนที่เหมาะสมที่สุด X = (2,4,0,0) ในการวนซ้ำครั้งที่สอง โดยมีรายได้สูงสุด 14 พัน. ถู. และค่าสัมประสิทธิ์ของแถวดัชนีไม่เป็นลบ เป็นเรื่องง่ายที่จะตรวจสอบว่าในงานนี้ ด้วยแผนที่เหมาะสมที่สุด ทรัพยากรจะถูกใช้อย่างเต็มที่ (2*1+4*1=6; 2*2+1*4=8)

เมื่อค้นหาความสามารถในการทำกำไรขั้นต่ำ เราจะกำหนดฟังก์ชันวัตถุประสงค์ให้แตกต่างออกไป (+MY 1 จะถูกป้อนเป็นคำ:

Z(X)= 3X 1 + 2X 2 +0X 3 +MY 1 = 3X 1 + 2X 2 +M(8 -2X 1 –X 2)=

3X 1 + 2X 2 +8M - 2MX 1 - MX 2 = (3 - 2M)X 1 + (2 - M)X 2 +8M

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

วางแผน พื้นฐาน ซี ฉัน /ซี เจ ความหมาย เอ็กซ์ ฉัน เอ็กซ์ 1 เอ็กซ์ 2 เอ็กซ์ 3 ใช่ 1 คิวนาที
เอ็กซ์ 3 6/1=6
ใช่ 1 8/2=4
Z(X) = 8M 2M-3 เอ็ม-2 เส้นดัชนี
เอ็กซ์ 3 0,5 -0,5 2/0,5=4
→เอ็กซ์ 1 0,5 0,5 4/0,5=8
Z(X) = 3*4=12 - 0,5 -ม+1.5 เส้นดัชนี

ผลลัพธ์ที่เป็นลบของค่าสัมประสิทธิ์ในเส้นดัชนี X i บ่งบอกถึงความเหมาะสมของแผนที่ 1 โดยมีรายได้ขั้นต่ำ 12,000 รูเบิล

ได้มาจากผลผลิตของผลิตภัณฑ์ A เท่านั้น (ไม่ได้ผลิตผลิตภัณฑ์ B) วัตถุดิบไม่ได้ใช้อย่างเต็มที่ (ส่วนที่เหลือ X 3 = 2t) ในขณะที่ตรงตามเงื่อนไขหลัก - คนงานถูกใช้อย่างเต็มที่ในการผลิต


การบรรยายครั้งที่ 11

หัวข้อ: ปัญหาการขนส่งแบบปิด

1. สูตรทางคณิตศาสตร์ของปิด ปัญหาการขนส่ง- การกำหนดจำนวนสิ่งที่ไม่ทราบที่ต้องการ

2. ขั้นตอนการกำหนดแผนการแก้ไขปัญหาการขนส่ง