การเขียนโปรแกรมเชิงเส้นในวิทยาศาสตร์ข้อมูลคืออะไร: ภาพรวม

เผยแพร่แล้ว: 2022-09-21

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

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

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

ตรวจสอบใบรับรองวิทยาศาสตร์ข้อมูลของเราเพื่อเพิ่มทักษะให้กับตัวคุณเอง

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

ในบทความนี้ เรามาดูกันดีกว่าว่า Linear Programming คืออะไร วิธีการต่างๆ ของ Linear Programming และตัวอย่างปัญหาของ Linear Programming!

สารบัญ

สำรวจปริญญาวิทยาศาสตร์ข้อมูลยอดนิยมของเรา

Executive Post Graduate Program in Data Science จาก IIITB หลักสูตรประกาศนียบัตรวิชาชีพด้านวิทยาศาสตร์ข้อมูลเพื่อการตัดสินใจทางธุรกิจ วิทยาศาสตรมหาบัณฑิต สาขา Data Science จาก University of Arizona
หลักสูตรประกาศนียบัตรขั้นสูงด้าน Data Science จาก IIITB หลักสูตรประกาศนียบัตรวิชาชีพด้าน Data Science และ Business Analytics จาก University of Maryland องศาวิทยาศาสตร์ข้อมูล

การเขียนโปรแกรมเชิงเส้นในการวิเคราะห์เชิงทำนาย

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

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

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

ทักษะด้านวิทยาศาสตร์ข้อมูลสำคัญที่ต้องเรียนรู้ในปี 2022

เอสแอล. ไม่ ทักษะด้านวิทยาศาสตร์ข้อมูลอันดับต้นๆ ที่ควรเรียนรู้ในปี 2022
1 ใบรับรองการวิเคราะห์ข้อมูล ใบรับรองสถิติเชิงอนุมาน
2 ใบรับรองการทดสอบสมมติฐาน ใบรับรองการถดถอยโลจิสติก
3 ใบรับรองการถดถอยเชิงเส้น พีชคณิตเชิงเส้นสำหรับการรับรองการวิเคราะห์

การแก้ปัญหาการเขียนโปรแกรมเชิงเส้น

เราสามารถปฏิบัติตามสี่ขั้นตอนเหล่านี้เพื่อแก้ปัญหา Linear Programming ได้สำเร็จ:

  • การระบุตัวแปรการตัดสินใจ
  • การพัฒนาฟังก์ชันวัตถุประสงค์
  • การระบุข้อจำกัด
  • ระบุข้อจำกัดที่ไม่เป็นลบ

เราจะเจาะลึกลงไปในขั้นตอนเหล่านี้ในภายหลังเมื่อเราดูตัวอย่างที่แก้ไขแล้วของ Linear Programming แต่ก่อนหน้านั้น มาดูวิธีต่างๆ ที่คุณสามารถใช้แก้ปัญหา Linear Programming ได้ มีสี่วิธีกว้าง ๆ ให้เลือก:

  • วิธีการแบบกราฟิก : วิธีการแบบกราฟิกเป็นวิธีพื้นฐานที่สุดที่ใช้ในการแก้ปัญหาการเขียนโปรแกรมเชิงเส้นในสองตัวแปร ส่วนใหญ่จะใช้เมื่อมีตัวแปรการตัดสินใจเพียงสองตัวแปรที่ต้องพิจารณา วิธีการแบบกราฟิกเกี่ยวข้องกับการสร้างชุดของความไม่เท่าเทียมกันเชิงเส้นและอยู่ภายใต้เงื่อนไขหรือข้อจำกัดที่เกี่ยวข้อง จากนั้น สมการจะถูกพล็อตบนระนาบ XY และพื้นที่ของจุดตัดที่เกิดขึ้นจากการพล็อตสมการเชิงเส้นทั้งหมดเป็นพื้นที่ที่เป็นไปได้ พื้นที่นี้ระบุค่าของแบบจำลองและให้โซลูชันที่เหมาะสมที่สุด
  • Simplex Method: นี่เป็นวิธีที่มีประสิทธิภาพในการแก้ปัญหา Linear Programming และเป็นไปตามขั้นตอนแบบวนซ้ำเพื่อให้ได้วิธีแก้ปัญหาที่เหมาะสมที่สุด ในแนวทางนี้ ตัวแปรที่จำเป็นจะถูกแก้ไขจนกว่าจะถึงค่าสูงสุดหรือต่ำสุด (ตามที่ต้องการ) สำหรับฟังก์ชันวัตถุประสงค์เริ่มต้น
  • วิธีมุมตะวันตกเฉียงเหนือและต้นทุนน้อยที่สุด: เป็นวิธีการเฉพาะประเภทที่ใช้สำหรับปัญหาการขนส่งเป็นหลัก เพื่อกำหนดวิธีที่ดีที่สุดในการขนส่งสินค้าหรือสินค้า ด้วยเหตุนี้ นี่เป็นวิธีการเพิ่มประสิทธิภาพที่สะดวกสำหรับปัญหาอุปสงค์และอุปทาน สมมติฐานสำหรับวิธีนี้คือมีผลิตภัณฑ์เดียวเท่านั้น อย่างไรก็ตาม ความต้องการผลิตภัณฑ์นี้มาจากแหล่งต่างๆ ซึ่งทั้งหมดรวมกันเป็นอุปทานทั้งหมด ดังนั้นวิธีนี้จึงมุ่งที่จะลดต้นทุนการขนส่ง
  • การแก้ปัญหาโดยใช้ R: R เป็นหนึ่งในเครื่องมือที่ใช้กันอย่างแพร่หลายมากที่สุดสำหรับวิทยาศาสตร์ข้อมูลและการวิเคราะห์ข้อมูล R ทำให้ง่ายต่อการเพิ่มประสิทธิภาพในโค้ดเพียงไม่กี่บรรทัดโดยใช้แพ็คเกจ IpSolve
  • การแก้ปัญหาโดยใช้เครื่องมือโอเพนซอร์ส: วิธีสุดท้ายใช้เครื่องมือโอเพนซอร์ซที่มีอยู่มากมายสำหรับปัญหาการปรับให้เหมาะสม ตัวอย่างหนึ่งของเครื่องมือโอเพนซอร์สคือ OpenSolve ซึ่งเป็นเครื่องมือเพิ่มประสิทธิภาพเชิงเส้นสำหรับ Excel และทำงานได้อย่างราบรื่นสำหรับตัวแปรสูงสุด 100 ตัว นอกจากนั้น CPLEX, MATLAB, Gurobi เป็นต้น เป็นเครื่องมือโอเพนซอร์ซที่มีประโยชน์อื่นๆ

อ่านบทความวิทยาศาสตร์ข้อมูลยอดนิยมของเรา

เส้นทางอาชีพ Data Science: คู่มืออาชีพที่ครอบคลุม การเติบโตของอาชีพ Data Science: อนาคตของการทำงานอยู่ที่นี่ เหตุใด Data Science จึงมีความสำคัญ 8 วิธีที่ Data Science นำคุณค่ามาสู่ธุรกิจ
ความเกี่ยวข้องของวิทยาศาสตร์ข้อมูลสำหรับผู้จัดการ แผ่นโกงวิทยาศาสตร์ข้อมูลขั้นสูงสุดที่นักวิทยาศาสตร์ข้อมูลทุกคนควรมี 6 เหตุผลที่คุณควรเป็นนักวิทยาศาสตร์ข้อมูล
วันหนึ่งในชีวิตของ Data Scientist: พวกเขาทำอะไร? Myth Busted: Data Science ไม่ต้องการการเข้ารหัส Business Intelligence vs Data Science: อะไรคือความแตกต่าง?

ตัวอย่างการแก้กราฟิกของการเขียนโปรแกรมเชิงเส้น

ในช่วงเทศกาลประจำปี บริษัทคำนึงถึงสองปัจจัย – X และ Y – เพื่อสร้างชุดผู้ใช้ น้ำหนักของบรรจุภัณฑ์ทั้งหมดต้อง 5 กก. และต้องไม่เกิน 4 กก. ของ Y และอย่างน้อย X X และ Y อย่างน้อย 2 กก. มีส่วนทำให้เกิดกำไรทั้งหมดดังนี้ – Rs. 5 / กก. สำหรับ X และ 6 / กก. สำหรับ Y

เรามาลองแก้ปัญหา Linear Programming นี้กันเพื่อให้ได้ส่วนผสมที่ดีที่สุดซึ่งส่งผลให้บริษัทมีกำไรสูงสุด

1. การทำงานกับหน้าที่หลักของเรา

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

  • ให้ X . หนึ่งกิโลกรัม
  • ให้ b กก. ของ Y
  • ฟังก์ชันวัตถุประสงค์ของเราจะกลายเป็น -> c = 5*a + 6*b และเราจำเป็นต้องเพิ่มค่า c ให้สูงสุด

เรามี a, b เป็นตัวแปรในการตัดสินใจ ในขณะที่ c เป็นฟังก์ชันที่เราต้องการ

2. การพัฒนาข้อจำกัดจากปัญหา

เราได้รับข้อจำกัดต่อไปนี้ในปัญหา:

  • น้ำหนักห่อของขวัญต้อง 5 กก. => a + b = 5
  • Y น้อยกว่า 4 กก. และ X อย่างน้อย 2 กก. => x>=2; ย<=4

3. ข้อจำกัดที่ไม่เป็นลบ

ปริมาณสำหรับ X และ Y ควรเป็นค่าบวก => a, b>0

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

เราจำเป็นต้องเพิ่มประสิทธิภาพ c = 5a+6b ภายใต้สองเงื่อนไขต่อไปนี้:

  • a+b=5
  • ก>=2
  • ข<=4

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

  • a + b = 5 เป็นเส้นตรงที่ตัดแกน x ที่ (5,0) และแกน y ที่จุด (0,5) เนื่องจากเรามีเครื่องหมายความเท่าเทียมกันในนิพจน์ เรามั่นใจว่าขอบเขตที่เป็นไปได้อยู่ในพื้นที่ของจุดตัดของเส้นเหล่านี้
  • a >= 2 คือการตัดแกน x เป็นเส้นตรงเป็น (2,0) เนื่องจากการแสดงออกของเรามีมากกว่าข้อจำกัด พื้นที่ที่เป็นไปได้ของเราจึงตกอยู่ที่ RHS ของสายงานของเรา
  • b <= 4 เป็นเส้นตรงที่ตัดแกน y ที่ (0,4) เนื่องจากเรามีข้อจำกัดน้อยกว่า พื้นที่ที่เป็นไปได้ของเราคือพื้นที่ด้านล่างเส้น
  • สุดท้าย เนื่องจาก a และ b เป็นค่าบวกทั้งคู่ พื้นที่ที่เรากังวลคือจตุภาคแรก

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

  • c = 5a + 6b ⬄ c = (5*2) +(6*3) = 28
  • c = 5a + 6b ⬄ z = (5*5) +(6*0) = 25

อย่างที่คุณเห็น เราได้รับมูลค่ากำไรที่สูงขึ้นสำหรับออปชั่น A ดังนั้น โซลูชันของเราที่ให้ผลกำไรที่ดีที่สุดมีดังนี้ => 2 กก. ของแฟคเตอร์ X และ 3 กก. ของแฟคเตอร์ Y!

สรุปแล้ว

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

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

ที่ upGrad เราได้แนะนำนักเรียนจากทั่วโลกด้วยภูมิหลังที่หลากหลาย และช่วยให้พวกเขาพัฒนาความรู้เชิงทฤษฎีที่เกี่ยวข้องและความเชี่ยวชาญเชิงปฏิบัติที่จำเป็นต่อการประสบความสำเร็จในด้านวิทยาศาสตร์ข้อมูล ตรวจสอบ Executive Post Graduate Program in Data Science สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างหลักสูตร หลักสูตร และความได้เปรียบของ upGrad!

1. การเขียนโปรแกรมเชิงเส้นเกี่ยวข้องกับการเขียนโปรแกรมคอมพิวเตอร์หรือไม่?

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

2. เมื่อไหร่ที่ Linear Programming จำเป็นที่สุด?

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

3. การเขียนโปรแกรมเชิงเส้นจำเป็นต้องดำเนินการด้วยตนเองหรือไม่?

ไม่ มีเครื่องมือต่างๆ ทั้งโอเพ่นซอร์สและอื่น ๆ ที่สามารถช่วยคุณดำเนินการโปรแกรมเชิงเส้นได้