การสร้างแบบจำลองและการจำลอง - คู่มือฉบับย่อ

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

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

ประวัติศาสตร์การจำลองสถานการณ์

มุมมองทางประวัติศาสตร์ของการจำลองจะแจกแจงตามลำดับเวลา

  • 1940 - วิธีการที่ชื่อว่า 'Monte Carlo' ได้รับการพัฒนาโดยนักวิจัย (John von Neumann, Stanislaw Ulan, Edward Teller, Herman Kahn) และนักฟิสิกส์ที่ทำงานในโครงการแมนฮัตตันเพื่อศึกษาการกระเจิงของนิวตรอน

  • 1960 - ภาษาจำลองวัตถุประสงค์พิเศษแรกได้รับการพัฒนาเช่น SIMSCRIPT โดย Harry Markowitz ที่ RAND Corporation

  • 1970 - ในช่วงเวลานี้ได้เริ่มการวิจัยเกี่ยวกับพื้นฐานทางคณิตศาสตร์ของการจำลอง

  • 1980 - ในช่วงเวลานี้มีการพัฒนาซอฟต์แวร์จำลองบนพีซีอินเทอร์เฟซผู้ใช้แบบกราฟิกและการเขียนโปรแกรมเชิงวัตถุ

  • 1990 - ในช่วงเวลานี้ได้มีการพัฒนาการจำลองบนเว็บกราฟิกเคลื่อนไหวแฟนซีการเพิ่มประสิทธิภาพตามการจำลองวิธีการมอนติคาร์โลของ Markov-chain ได้รับการพัฒนา

การพัฒนาโมเดลจำลอง

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

  • Step 1 - ระบุปัญหากับระบบที่มีอยู่หรือตั้งข้อกำหนดของระบบที่เสนอ

  • Step 2 - ออกแบบปัญหาพร้อมกับดูแลปัจจัยและข้อ จำกัด ของระบบที่มีอยู่

  • Step 3 - รวบรวมและเริ่มประมวลผลข้อมูลระบบสังเกตประสิทธิภาพและผลลัพธ์

  • Step 4 - พัฒนาแบบจำลองโดยใช้แผนภาพเครือข่ายและตรวจสอบโดยใช้เทคนิคการตรวจสอบต่างๆ

  • Step 5 - ตรวจสอบโมเดลโดยเปรียบเทียบประสิทธิภาพภายใต้เงื่อนไขต่างๆกับระบบจริง

  • Step 6 - สร้างเอกสารของแบบจำลองสำหรับการใช้งานในอนาคตซึ่งรวมถึงวัตถุประสงค์สมมติฐานตัวแปรอินพุตและรายละเอียดประสิทธิภาพ

  • Step 7 - เลือกการออกแบบการทดลองที่เหมาะสมตามความต้องการ

  • Step 8 - กำหนดเงื่อนไขการทดลองในแบบจำลองและสังเกตผลลัพธ์

ทำการวิเคราะห์การจำลอง

ต่อไปนี้เป็นขั้นตอนในการวิเคราะห์การจำลอง

  • Step 1 - เตรียมคำชี้แจงปัญหา

  • Step 2- เลือกตัวแปรอินพุตและสร้างเอนทิตีสำหรับกระบวนการจำลอง ตัวแปรมีสองประเภท - ตัวแปรการตัดสินใจและตัวแปรที่ควบคุมไม่ได้ ตัวแปรการตัดสินใจถูกควบคุมโดยโปรแกรมเมอร์ในขณะที่ตัวแปรที่ไม่สามารถควบคุมได้คือตัวแปรสุ่ม

  • Step 3 - สร้างข้อ จำกัด เกี่ยวกับตัวแปรการตัดสินใจโดยกำหนดให้กับกระบวนการจำลอง

  • Step 4 - กำหนดตัวแปรผลลัพธ์

  • Step 5 - รวบรวมข้อมูลจากระบบในชีวิตจริงเพื่อป้อนลงในการจำลอง

  • Step 6 - พัฒนาผังงานแสดงความคืบหน้าของกระบวนการจำลอง

  • Step 7 - เลือกซอฟต์แวร์จำลองที่เหมาะสมเพื่อเรียกใช้โมเดล

  • Step 8 - ตรวจสอบโมเดลจำลองโดยเปรียบเทียบผลลัพธ์กับระบบเรียลไทม์

  • Step 9 - ทำการทดลองเกี่ยวกับแบบจำลองโดยการเปลี่ยนค่าตัวแปรเพื่อหาทางออกที่ดีที่สุด

  • Step 10 - สุดท้ายใช้ผลลัพธ์เหล่านี้ในระบบเรียลไทม์

การสร้างแบบจำลองและการจำลอง─ข้อดี

ต่อไปนี้เป็นข้อดีของการใช้ Modeling and Simulation -

  • Easy to understand - ช่วยให้เข้าใจว่าระบบทำงานอย่างไรโดยไม่ต้องทำงานบนระบบเรียลไทม์

  • Easy to test - อนุญาตให้ทำการเปลี่ยนแปลงในระบบและผลกระทบต่อเอาต์พุตโดยไม่ต้องทำงานกับระบบเรียลไทม์

  • Easy to upgrade - อนุญาตให้กำหนดความต้องการของระบบโดยใช้การกำหนดค่าต่างๆ

  • Easy to identifying constraints - อนุญาตให้ทำการวิเคราะห์คอขวดที่ทำให้กระบวนการทำงานข้อมูล ฯลฯ ล่าช้า

  • Easy to diagnose problems- ระบบบางระบบมีความซับซ้อนมากจนไม่ง่ายที่จะเข้าใจการโต้ตอบในแต่ละครั้ง อย่างไรก็ตามการสร้างแบบจำลองและการจำลองช่วยให้เข้าใจการโต้ตอบทั้งหมดและวิเคราะห์ผลกระทบ นอกจากนี้ยังสามารถสำรวจนโยบายการดำเนินงานและขั้นตอนใหม่ ๆ ได้โดยไม่ส่งผลกระทบต่อระบบจริง

การสร้างแบบจำลองและการจำลองสถานการณ์─ข้อเสีย

ต่อไปนี้เป็นข้อเสียของการใช้ Modeling and Simulation -

  • การออกแบบโมเดลเป็นศิลปะที่ต้องอาศัยความรู้การฝึกอบรมและประสบการณ์

  • การดำเนินการจะดำเนินการในระบบโดยใช้หมายเลขสุ่มดังนั้นจึงยากที่จะคาดเดาผลลัพธ์

  • การจำลองสถานการณ์ต้องใช้กำลังคนและเป็นกระบวนการที่ใช้เวลานาน

  • ผลการจำลองเป็นเรื่องยากที่จะแปล ต้องใช้ผู้เชี่ยวชาญในการทำความเข้าใจ

  • กระบวนการจำลองมีราคาแพง

การสร้างแบบจำลองและการจำลอง─พื้นที่การใช้งาน

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

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

ในบทนี้เราจะพูดถึงแนวคิดต่างๆและการแบ่งประเภทของการสร้างแบบจำลอง

โมเดลและกิจกรรม

ต่อไปนี้เป็นแนวคิดพื้นฐานของการสร้างแบบจำลองและการจำลอง

  • Object เป็นหน่วยงานที่มีอยู่ในโลกแห่งความเป็นจริงเพื่อศึกษาพฤติกรรมของแบบจำลอง

  • Base Model เป็นคำอธิบายเชิงสมมุติเกี่ยวกับคุณสมบัติของวัตถุและพฤติกรรมของวัตถุซึ่งใช้ได้กับแบบจำลอง

  • System เป็นวัตถุที่เปล่งออกมาภายใต้เงื่อนไขที่แน่นอนซึ่งมีอยู่ในโลกแห่งความเป็นจริง

  • Experimental Frameใช้เพื่อศึกษาระบบในโลกแห่งความเป็นจริงเช่นเงื่อนไขการทดลองแง่มุมวัตถุประสงค์ ฯลฯ Basic Experimental Frame ประกอบด้วยตัวแปรสองชุด ได้แก่ ตัวแปรอินพุตเฟรมและตัวแปรเฟรมเอาต์พุตซึ่งตรงกับเทอร์มินัลของระบบหรือโมเดล ตัวแปรอินพุตเฟรมมีหน้าที่ในการจับคู่อินพุตที่ใช้กับระบบหรือโมเดล ตัวแปรเฟรมเอาต์พุตมีหน้าที่ในการจับคู่ค่าเอาต์พุตกับระบบหรือโมเดล

  • Lumped Model คือคำอธิบายที่แน่นอนของระบบซึ่งเป็นไปตามเงื่อนไขที่ระบุของ Experimental Frame ที่กำหนด

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

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

ตัวแปรสถานะของระบบ

ตัวแปรสถานะระบบคือชุดข้อมูลที่จำเป็นในการกำหนดกระบวนการภายในระบบ ณ ช่วงเวลาที่กำหนด

  • ใน discrete-event modelตัวแปรสถานะของระบบจะคงที่ตลอดช่วงเวลาและค่าจะเปลี่ยนไปตามจุดที่กำหนดซึ่งเรียกว่าเหตุการณ์ครั้ง

  • ใน continuous-event modelตัวแปรสถานะของระบบถูกกำหนดโดยผลลัพธ์สมการเชิงอนุพันธ์ซึ่งค่าเปลี่ยนแปลงอย่างต่อเนื่องตลอดเวลา

ต่อไปนี้เป็นตัวแปรสถานะของระบบ -

  • Entities & Attributes- เอนทิตีแสดงถึงออบเจ็กต์ที่มีค่าคงที่หรือไดนามิกขึ้นอยู่กับกระบวนการกับเอนทิตีอื่น แอตทริบิวต์คือค่าท้องถิ่นที่ใช้โดยเอนทิตี

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

  • Lists- รายการใช้เพื่อแสดงคิวที่ใช้โดยเอนทิตีและทรัพยากร มีความเป็นไปได้ต่างๆของคิวเช่น LIFO, FIFO เป็นต้นขึ้นอยู่กับกระบวนการ

  • Delay - เป็นระยะเวลาไม่แน่นอนที่เกิดจากการรวมกันของเงื่อนไขของระบบ

การจำแนกประเภทของโมเดล

ระบบสามารถแบ่งออกเป็นประเภทต่างๆดังต่อไปนี้

  • Discrete-Event Simulation Model- ในโมเดลนี้ค่าตัวแปรสถานะจะเปลี่ยนเฉพาะในบางจุดที่ไม่ต่อเนื่องในช่วงเวลาที่เหตุการณ์เกิดขึ้น กิจกรรมจะเกิดขึ้นตามเวลากิจกรรมที่กำหนดและความล่าช้าเท่านั้น

  • Stochastic vs. Deterministic Systems - ระบบ Stochastic ไม่ได้รับผลกระทบจากการสุ่มและผลลัพธ์ของมันไม่ใช่ตัวแปรสุ่มในขณะที่ระบบดีเทอร์มินิสต์จะได้รับผลกระทบจากการสุ่มและผลลัพธ์ของมันเป็นตัวแปรสุ่ม

  • Static vs. Dynamic Simulation- การจำลองแบบคงที่รวมถึงโมเดลที่ไม่ได้รับผลกระทบตามเวลา ตัวอย่างเช่น Monte Carlo Model Dynamic Simulation ประกอบด้วยโมเดลที่ได้รับผลกระทบตามเวลา

  • Discrete vs. Continuous Systems- ระบบไม่ต่อเนื่องได้รับผลกระทบจากการเปลี่ยนแปลงตัวแปรของรัฐ ณ เวลาที่ไม่ต่อเนื่อง พฤติกรรมของมันถูกแสดงในการแสดงกราฟิกต่อไปนี้

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

กระบวนการสร้างแบบจำลอง

กระบวนการสร้างแบบจำลองประกอบด้วยขั้นตอนต่อไปนี้

Step 1- ตรวจสอบปัญหา ในขั้นตอนนี้เราต้องเข้าใจปัญหาและเลือกการจัดประเภทตามลำดับเช่นกำหนดหรือสุ่ม

Step 2- ออกแบบโมเดล ในขั้นตอนนี้เราต้องดำเนินการง่ายๆดังต่อไปนี้ซึ่งช่วยให้เราออกแบบแบบจำลอง -

  • รวบรวมข้อมูลตามลักษณะการทำงานของระบบและข้อกำหนดในอนาคต

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

  • กำหนดชื่อตัวแปรฟังก์ชันหน่วยความสัมพันธ์และแอ็พพลิเคชันที่ใช้ในโมเดล

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

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

Step 3- ให้คำแนะนำหลังจากเสร็จสิ้นกระบวนการทั้งหมดที่เกี่ยวข้องกับโมเดล รวมถึงการลงทุนทรัพยากรอัลกอริทึมเทคนิค ฯลฯ

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

การตรวจสอบความถูกต้องและการตรวจสอบเป็นสองขั้นตอนในโครงการจำลองเพื่อตรวจสอบความถูกต้องของโมเดล

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

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

เทคนิคการตรวจสอบและการตรวจสอบความถูกต้อง

มีเทคนิคต่างๆที่ใช้ในการดำเนินการ Verification & Validation of Simulation Model ต่อไปนี้เป็นเทคนิคทั่วไปบางส่วน -

เทคนิคในการตรวจสอบโมเดลจำลอง

ต่อไปนี้เป็นวิธีการตรวจสอบโมเดลจำลอง -

  • โดยใช้ทักษะการเขียนโปรแกรมเพื่อเขียนและแก้จุดบกพร่องของโปรแกรมในโปรแกรมย่อย.

  • โดยใช้นโยบาย "Structured Walk-through" ที่มีคนอ่านโปรแกรมมากกว่าหนึ่งคน

  • โดยการติดตามผลลัพธ์ระดับกลางและเปรียบเทียบกับผลลัพธ์ที่สังเกตได้

  • โดยการตรวจสอบผลลัพธ์ของโมเดลจำลองโดยใช้ชุดอินพุตต่างๆ

  • โดยการเปรียบเทียบผลการจำลองขั้นสุดท้ายกับผลการวิเคราะห์

เทคนิคการตรวจสอบความถูกต้องของแบบจำลอง

Step 1- ออกแบบโมเดลที่มีความถูกต้องสูง สามารถทำได้โดยใช้ขั้นตอนต่อไปนี้ -

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

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

Step 3- กำหนดผลลัพธ์ที่เป็นตัวแทนของโมเดลจำลอง สามารถทำได้โดยใช้ขั้นตอนต่อไปนี้ -

  • กำหนดว่าเอาต์พุตการจำลองใกล้เคียงกับเอาต์พุตระบบจริงแค่ไหน

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

  • วิธีการทางสถิติสามารถใช้เพื่อเปรียบเทียบเอาต์พุตของโมเดลกับเอาต์พุตของระบบจริง

การเปรียบเทียบข้อมูลแบบจำลองกับข้อมูลจริง

หลังจากการพัฒนาโมเดลเราต้องทำการเปรียบเทียบข้อมูลผลลัพธ์กับข้อมูลระบบจริง ต่อไปนี้เป็นสองวิธีในการเปรียบเทียบนี้

การตรวจสอบความถูกต้องของระบบที่มีอยู่

ในแนวทางนี้เราใช้ปัจจัยการผลิตในโลกแห่งความเป็นจริงของแบบจำลองเพื่อเปรียบเทียบผลลัพธ์ของมันกับอินพุตจริงของระบบจริง กระบวนการตรวจสอบความถูกต้องนี้ตรงไปตรงมา แต่อาจมีปัญหาบางอย่างเมื่อดำเนินการเช่นหากต้องเปรียบเทียบผลลัพธ์กับความยาวเฉลี่ยเวลารอเวลาว่าง ฯลฯ สามารถเปรียบเทียบได้โดยใช้การทดสอบทางสถิติและการทดสอบสมมติฐาน การทดสอบทางสถิติบางอย่าง ได้แก่ การทดสอบไคสแควร์การทดสอบ Kolmogorov-Smirnov การทดสอบ Cramer-von Mises และการทดสอบ Moments

การตรวจสอบความถูกต้องของโมเดลครั้งแรก

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

  • Subsystem Validity- ตัวแบบเองอาจไม่มีระบบที่มีอยู่ให้เปรียบเทียบได้ แต่อาจประกอบด้วยระบบย่อยที่รู้จัก แต่ละความถูกต้องนั้นสามารถทดสอบแยกกันได้

  • Internal Validity - แบบจำลองที่มีความแปรปรวนภายในระดับสูงจะถูกปฏิเสธเนื่องจากเป็นระบบสุ่มที่มีความแปรปรวนสูงเนื่องจากกระบวนการภายในจะซ่อนการเปลี่ยนแปลงในเอาต์พุตเนื่องจากการเปลี่ยนแปลงอินพุต

  • Sensitivity Analysis - ให้ข้อมูลเกี่ยวกับพารามิเตอร์ที่ละเอียดอ่อนในระบบที่เราต้องให้ความสนใจมากขึ้น

  • Face Validity - เมื่อโมเดลทำงานบนลอจิกตรงกันข้ามควรปฏิเสธแม้ว่าโมเดลจะทำงานเหมือนระบบจริงก็ตาม

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

ต่อไปนี้คือการแสดงลักษณะกราฟิกของพฤติกรรมของการจำลองระบบที่ไม่ต่อเนื่อง

การจำลองเหตุการณ์ไม่ต่อเนื่อง─คุณสมบัติหลัก

โดยทั่วไปการจำลองเหตุการณ์แบบไม่ต่อเนื่องจะดำเนินการโดยซอฟต์แวร์ที่ออกแบบด้วยภาษาโปรแกรมระดับสูงเช่น Pascal, C ++ หรือภาษาจำลองเฉพาะทาง คุณสมบัติหลักห้าประการต่อไปนี้ -

  • Entities - สิ่งเหล่านี้คือการแสดงองค์ประกอบจริงเช่นชิ้นส่วนของเครื่องจักร

  • Relationships - หมายถึงการเชื่อมโยงเอนทิตีเข้าด้วยกัน

  • Simulation Executive - มีหน้าที่ควบคุมเวลาล่วงหน้าและดำเนินเหตุการณ์ที่ไม่ต่อเนื่อง

  • Random Number Generator - ช่วยในการจำลองข้อมูลต่างๆที่เข้ามาในโมเดลจำลอง

  • Results & Statistics - ตรวจสอบความถูกต้องของโมเดลและจัดเตรียมการวัดประสิทธิภาพ

การแสดงกราฟเวลา

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

  • Time Slicing - เป็นเวลาที่กำหนดโดยโมเดลสำหรับแต่ละเหตุการณ์จนกว่าจะไม่มีเหตุการณ์ใด ๆ

  • Next Event- เป็นเหตุการณ์ที่กำหนดโดยโมเดลสำหรับเหตุการณ์ถัดไปที่จะดำเนินการแทนช่วงเวลา มีประสิทธิภาพมากกว่าการแบ่งเวลา

การจำลองระบบจัดคิว

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

พารามิเตอร์

ต่อไปนี้เป็นรายการพารามิเตอร์ที่ใช้ในระบบคิว

สัญลักษณ์ คำอธิบาย
λ หมายถึงอัตราการมาถึงซึ่งเป็นจำนวนการมาถึงต่อวินาที
Ts หมายถึงเวลาให้บริการเฉลี่ยสำหรับการมาถึงแต่ละครั้งโดยไม่รวมเวลารอในคิว
σTs หมายถึงค่าเบี่ยงเบนมาตรฐานของเวลาให้บริการ
ρ หมายถึงการใช้เวลาของเซิร์ฟเวอร์ทั้งในขณะที่ไม่มีการใช้งานและไม่ว่าง
ยู หมายถึงความเข้มของการจราจร
หมายถึงค่าเฉลี่ยของรายการในระบบ
หมายถึงจำนวนรายการทั้งหมดในระบบ
ทร หมายถึงเวลาเฉลี่ยของไอเท็มในระบบ
ทร หมายถึงเวลาทั้งหมดของไอเท็มในระบบ
σr หมายถึงค่าเบี่ยงเบนมาตรฐานของ r
σTr หมายถึงค่าเบี่ยงเบนมาตรฐานของ Tr
หมายถึงจำนวนรายการที่รอคิวโดยเฉลี่ย
σw หมายถึงค่าเบี่ยงเบนมาตรฐานของ w
Tw หมายถึงเวลารอเฉลี่ยของรายการทั้งหมด
Td หมายถึงเวลารอเฉลี่ยของรายการที่รอคิว
หมายถึงจำนวนเซิร์ฟเวอร์ในระบบ
mx (y) หมายถึงวายTHเปอร์เซ็นต์ซึ่งหมายความว่าค่าของ Y ด้านล่างซึ่ง x เกิดขึ้นร้อยละปีของเวลา

คิวเซิร์ฟเวอร์เดียว

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

คิวหลายเซิร์ฟเวอร์

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

มีข้อยกเว้นของการใช้ประโยชน์ ปล่อยN เป็นเซิร์ฟเวอร์ที่เหมือนกันแล้ว ρคือการใช้ประโยชน์ของแต่ละเซิร์ฟเวอร์ พิจารณาเพื่อเป็นการใช้ประโยชน์ทั้งระบบ จากนั้นการใช้ประโยชน์สูงสุดคือN*100%และอัตราอินพุตสูงสุดคือ -

$ λmax = \ frac {\ text {N}} {\ text {T} s} $

การจัดคิวความสัมพันธ์

ตารางต่อไปนี้แสดงความสัมพันธ์ของการจัดคิวขั้นพื้นฐาน

ข้อกำหนดทั่วไป เซิร์ฟเวอร์เดียว เซิร์ฟเวอร์หลายเครื่อง
r = λTrสูตรของ Little ρ = λTs ρ = λTs / N
w = λTwสูตรของ Little r = w + ρ คุณ = λTs = ρN
Tr = Tw + Ts r = w + Nρ

การจำลองระบบแบ่งเวลา

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

Example - ระบบจำลอง SimOS

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

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

การจำลองแบบต่อเนื่องคืออะไร?

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

เหตุใดจึงต้องใช้การจำลองแบบต่อเนื่อง

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

พื้นที่การใช้งาน

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

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

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

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

การจำลองมอนติคาร์โล─ลักษณะสำคัญ

ต่อไปนี้เป็นลักษณะสำคัญสามประการของวิธีมอนติคาร์โล -

  • ผลลัพธ์ต้องสร้างตัวอย่างแบบสุ่ม
  • ต้องทราบการกระจายอินพุต
  • ต้องทราบผลลัพธ์ขณะทำการทดลอง

การจำลองมอนติคาร์โล─ข้อดี

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

การจำลองมอนติคาร์โล─ข้อเสีย

  • ใช้เวลานานเนื่องจากจำเป็นต้องสร้างการสุ่มตัวอย่างจำนวนมากเพื่อให้ได้ผลลัพธ์ที่ต้องการ

  • ผลลัพธ์ของวิธีนี้เป็นเพียงการประมาณค่าจริงเท่านั้นไม่ใช่ค่าที่แน่นอน

วิธีการจำลองมอนติคาร์โล─แผนผังการไหล

ภาพประกอบต่อไปนี้แสดงผังงานทั่วไปของการจำลองมอนติคาร์โล

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

  • ฐานข้อมูลคือการรวบรวมวัตถุข้อมูลต่างๆที่กำหนดข้อมูลและความสัมพันธ์

  • กฎมีไว้สำหรับกำหนดข้อ จำกัด ของข้อมูลในวัตถุ

  • การดำเนินการสามารถนำไปใช้กับอ็อบเจ็กต์เพื่อดึงข้อมูล

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

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

การแสดงพื้นฐานมีลักษณะดังนี้ -

การแสดงข้อมูล

การแสดงข้อมูลสำหรับเหตุการณ์

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

การแสดงข้อมูลสำหรับไฟล์อินพุต

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

การแสดงข้อมูลสำหรับไฟล์เอาต์พุต

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

โครงข่ายประสาทเทียมในการสร้างแบบจำลองและการจำลองสถานการณ์

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

ประวัติศาสตร์

มุมมองทางประวัติศาสตร์ของการจำลองจะแจกแจงตามลำดับเวลา

แบบจำลองประสาทแรกได้รับการพัฒนาใน 1940 โดย McCulloch & Pitts

ใน 1949โดนัลด์เฮบบ์เขียนหนังสือ“ องค์การแห่งพฤติกรรม” ซึ่งชี้ให้เห็นถึงแนวคิดของเซลล์ประสาท

ใน 1950เนื่องจากคอมพิวเตอร์มีความก้าวหน้าจึงสามารถสร้างแบบจำลองของทฤษฎีเหล่านี้ได้ ทำโดยห้องปฏิบัติการวิจัยของไอบีเอ็ม อย่างไรก็ตามความพยายามล้มเหลวและความพยายามในภายหลังก็ประสบความสำเร็จ

ใน 1959, Bernard Widrow และ Marcian Hoff พัฒนาโมเดลที่เรียกว่า ADALINE และ MADALINE โมเดลเหล่านี้มี ADAptive LINear Elements หลายตัว MADALINE เป็นโครงข่ายประสาทเทียมแห่งแรกที่ใช้กับปัญหาในโลกแห่งความเป็นจริง

ใน 1962แบบจำลอง perceptron ได้รับการพัฒนาโดย Rosenblatt ซึ่งมีความสามารถในการแก้ปัญหาการจำแนกรูปแบบอย่างง่าย

ใน 1969Minsky & Papert ให้การพิสูจน์ทางคณิตศาสตร์เกี่ยวกับข้อ จำกัด ของแบบจำลอง perceptron ในการคำนวณ ว่ากันว่าแบบจำลองเพอร์เซปตรอนไม่สามารถแก้ปัญหา X-OR ได้ ข้อบกพร่องดังกล่าวนำไปสู่การลดลงของเครือข่ายประสาทเทียมชั่วคราว

ใน 1982จอห์นฮอปฟิลด์แห่งคาลเทคได้นำเสนอแนวคิดของเขาบนกระดาษต่อ National Academy of Sciences เพื่อสร้างเครื่องจักรโดยใช้เส้นสองทิศทาง ก่อนหน้านี้มีการใช้เส้นทิศทางเดียว

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

พื้นที่การใช้งาน

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

Fuzzy Set ในการสร้างแบบจำลองและการจำลองสถานการณ์

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

Fuzzy Set คืออะไร?

ในเซตคลาสสิกองค์ประกอบจะเป็นสมาชิกของเซตหรือไม่ก็ได้ เซตฟัซซีถูกกำหนดในรูปแบบของเซตคลาสสิกX เป็น -

A = {(x, μA (x)) | x ∈ X}

Case 1 - ฟังก์ชั่น μA(x) มีคุณสมบัติดังต่อไปนี้ -

∀x∈ X μA (x) ≥ 0

sup x ∈ X {μA (x)} = 1

Case 2 - ปล่อยให้คลุมเครือ B กำหนดเป็น A = {(3, 0.3), (4, 0.7), (5, 1), (6, 0.4)}จากนั้นสัญกรณ์ฟัซซีมาตรฐานจะเขียนเป็น A = {0.3/3, 0.7/4, 1/5, 0.4/6}

ค่าใด ๆ ที่มีระดับความเป็นสมาชิกเป็นศูนย์จะไม่ปรากฏในนิพจน์ของชุด

Case 3 - ความสัมพันธ์ระหว่างเซ็ตฟัซซี่กับเซ็ตกรอบคลาสสิก

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