งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 5 ภาษาที่ใช้ในการจำลองแบบปัญหา

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 5 ภาษาที่ใช้ในการจำลองแบบปัญหา"— ใบสำเนางานนำเสนอ:

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

2 Modelling Approach Event Scheduling
System modelled via characteristic events Events have subroutines which update state variables. Process Orientation Time oriented sequence of inter-related events that describes the experience of an entity as it flows through a system. Overlay to an event scheduling system. Approach adopted in most current software.

3 Common Features Generating random numbers (i.e. ~U(0,1))
Generating random variates from a specified probability distribution. Advancing the simulation clock. Determining the next event on the list event and passing control of to the appropriate piece of code. Adding and deleting records from a list. Collecting output statistics and reporting the results of the simulation run. Trapping error conditions.

4 5.1 ประเภทของคอมพิวเตอร์
แบ่งได้เป็น 3 ประเภทคือ ดิจิตอลคอมพิวเตอร์ (Digital computer) อนาล็อกคอมพิวเตอร์ (Analog computer) ไฮบริดคอมพิวเตอร์ (Hybrid computer)

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

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

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

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

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

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

11 ลักษณะเฉพาะของไฮบริดคอมพิวเตอร์(ต่อ)
- สามารถเพิ่มความเร็วในการคำนวณของดิจิตอล โดยอาศัยโปรแกรมย่อยจากอนาล็อกคอมพิวเตอร์ - สามารถใช้ได้กับข้อมูลทั้งที่แบบเป็นช่วงและ แบบต่อเนื่อง

12 5.2 ภาษาเฉพาะการจำลองแบบปัญหา
แบ่งได้เป็น 2 ประเภทหลัก ๆ คือ - ภาษาสำหรับใช้งานทั่ว ๆ ไป (General Purpose Languages) เช่น BASIC, C, PL/1, ALGO - ภาษาเฉพาะการจำลองแบบปัญหา (Simulation Languages) เช่น SIMAN, GPSS, SIMSCRIPT, SLAM, CSMP, GASP

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

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

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

16 ภาษาเฉพาะของระบบงานแบบต่อเนื่อง
ภาษาเฉพาะที่ใช้กับระบบงานแบบต่อเนื่องแบ่งออกเป็น 2 กลุ่มคือ - ภาษาเฉพาะการจำลองที่ใช้โครงสร้าง แบบบล็อก ( Block-structured simulation languages) - ภาษาเฉพาะการจำลองที่ใช้พื้นฐานของ การแสดงความหมาย (Expression-based

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

18 ภาษาเฉพาะที่ใช้กับระบบงานแบบไม่ต่อเนื่อง
แบ่งออกเป็น 3 กลุ่มคือ - ภาษาเชิงเหตุการณ์ (Event-oriented languages) เป็นภาษาที่ใช้กับงานที่ขึ้นอยู่กับเหตุการณ์ โดย แต่ละเหตุการณ์เมื่อเกิดขึ้นจะพิจารณาที่เวลาของ การเกิดเหตุการณ์และมีการดำเนินงานของระบบ ตามเวลาที่เกิดเหตุการณ์ใหม่ภายใต้สภาวะหรือ เงื่อนไขที่กำหนดไว้ ดังนั้นสถานะของระบบจึงเป็น การเปลี่ยนแปลงตามเหตุการณ์ ภาษาที่จัดอยู่ใน กลุ่มนี้ได้แก่ SIMSCRIPT และ GASP

19 - ภาษาเชิงกิจกรรม (Activity-oriented
languages) เป็นภาษาที่ใช้กับระบบที่พิจารณารายละเอียดของ เงื่อนไขภายใต้กิจกรรมต่าง ๆ ซึ่งรายละเอียดของ เงื่อนไขเหล่านี้จะไม่มีตารางเวลากำหนดที่แน่นอน หรือไม่มีเวลาของแบบจำลองที่กำหนดไว้ เงื่อนไข จะเป็นเงื่อนไขที่ส่งผลให้กิจกรรมเกิดขึ้น

20 ภาษาเชิงกิจกรรมควรจะมีคุณสมบัติดังนี้
แบบจำลองใช้เหตุการณ์ถัดไปหรือตัวแปร ของเวลาเป็นการเพิ่มค่ารูปแบบของเวลา กระบวนการจำลองเป็นกระบวนการที่ต้องการติดต่อ และโต้ตอบ (Interactive) ที่ค่อนข้างสูงแต่ไม่มี การกำหนดจำนวนของคุณลักษณะที่คงที่การเกิด เหตุการณ์ถูกควบคุมโดยโปรแกรมการตรวจสอบ รอบของกิจกรรม (Cyclic scanning activity programs) ภาษาที่จัดอยู่ในกลุ่มนี้ได้แก่ CSL

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

22 ภาษาที่อยู่ภายใต้ทิศทางของการทำงาน (Transaction-flow oriented language) จัดเป็นกลุ่มย่อยของภาษาเชิงกระบวนการที่จะแทนเส้นทางการวิ่งของกิจกรรมด้วยบล็อก แบบจำลองของระบบถูกแทนด้วยผังการทำงานที่ประกอบด้วยบล็อกของภาษา โปรแกรมจะสร้างการทำงาน (Transaction) แล้วปฏิบัติการทำงานนั้นในบล็อกและส่งการทำงานเหล่านั้นไปตามผังการทำงาน การเขียนโปรแกรมด้วยภาษานี้จะลดความยุ่งยากด้วยการกำหนดการแทนผังการทำงาน ภาษาที่อยู่ในกลุ่มนี้ที่เป็นที่รู้จักกันทั่วไปคือ GPSS

23 ตัวอย่างของภาษาเฉพาะที่นิยมใช้โดยทั่วไป
GASP เป็นภาษาเฉพาะที่เป็นกลุ่มของโปรแกรมย่อยที่เขียนด้วยภาษา FORTRAN แต่ละโปรแกรมย่อยจะทำหน้าที่บางอย่างที่มักจะใช้การจำลองแบบปัญหา ผู้เขียนโปรแกรมจะเพียงแต่สร้างโปรแกรมหลักแล้วเรียกใช้โปรแกรมย่อยเหล่านั้นมาต่อกันเป็นโปรแกรม GPSS เป็นภาษาเฉพาะที่พัฒนาโดยไอบีเอ็มและมีรูปแบบคำสั่งในการเขียนเฉพาะทาง โดยปัญหาที่เหมาะสมกับการใช้ภาษานี้ควรเป็นปัญหาที่มีองค์ประกอบชั่วคราวที่ใช้ในระบบ เช่น วัตถุดิบ ลูกค้าที่เข้ารับบริการ เป็นต้น

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

25

26 A Brief History of Simulation
Simulation has been around for some time. Early simulations were event-driven (see SimscriptMODSIM) and frequently military applications. In the 1960’s Geoffrey Gordon developed the transaction (process) based orientation that we are now familiar with. Gordon’s software was called General Purpose Simulation System (GPSS). GPSS was originally intended for analyzing time sharing options on mainframe computers. The software was included as a standard library on IBM 360s and its use was quite widespread.

27 5.3 SIMSCRIPT พัฒนาขึ้นโดยบริษัทแรนด์ คอร์ปอเรชัน ในปีช่วงต้นปีค.ศ และเปิดตัวครั้งแรกในปี และจากนั้นก็ได้ถูกพัฒนาประสิทธิภาพซึ่งมีการเผยแพร่ออกมาเป็นเวอร์ชันต่าง ๆ ซึ่งได้แก่ SIMSCRIT I.5 เป็นต้น ในปี 1968 บริษัทได้ผลิตเวอร์ชันที่สมบูรณ์คือ SIMSCRIPT II ซึ่งเป็นที่แพร่หลายและรู้จักกันในวงการซอฟต์แวร์ของการจำลองแบบปัญหา และเวอร์ชันล่าสุดคือ SIMSCRIPT II.5 ถูกนำเผยแพร่ในปี 1972

28 เนื่องจากภาษานี้ได้ถูกพัฒนาด้วยภาษา FORTRAN จึงมีลักษณะคล้ายคลึงกับภาษา FORTRAN และสามารถนำไปใช้เป็นภาษาสำหรับการจำลองปัญหาแบบไม่ต่อเนื่อง โดยสามารถใช้กับเครื่อง IBM 7090, 7094, 360 และ 370 series

29 5.4 GPSS GPSS ย่อมาจาก General Purpose Simulation System เป็นภาษาสำหรับการจำลองปัญหาแบบไม่ต่อเนื่อง ที่ได้รับการพัฒนามาตั้งแต่การเริ่มต้นการจำลองแบบปัญหา ผู้พัฒนาคือ Geoffrey Gordon ในปี 1961 โดยครั้งแรกพัฒนาขึ้นเพื่อใช้กับเครื่อง IBM 704, 709 และ GPSS เป็นภาษาที่เหมาะกับการสร้างแบบจำลองปัญหาด้านการจราจรและปัญหาระบบแถวคอย โดยการเขียน GPSS นั้นจะแตกต่างจาก SIMSCRIPT โดยเริ่มจากการสร้างแผนภาพบล็อก (Block diagrams) เพื่อแสดงการเครือข่ายของการเชื่อมโยง

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

31 ตัวอย่างของบล็อกที่ใช้กันทั่วไป
GENERATE เป็นฟังก์ชันในการสร้างการทำงานหรือ transactions QUEUE เป็นฟังก์ชันในการสร้างแถวคอยของการ ทำงาน และจัดการข้อมูลทางด้านสถิติของ แถวคอย TABULATE เป็นฟังก์ชันในการจัดระเบียบของเวลาใน การมาถึงของการทำงานในระบบการ จำลองปัญหา TERMINATE เป็นฟังก์ชันในการล้างการทำงาน ที่เสร็จเรียบร้อยหรือตามที่ระบุให้ออกจากระบบ ADVANCE เป็นฟังก์ชันในการนำเข้าการทำงานแล้วติดตามจนกระทั่งการทำงานเสร็จสมบูรณ์ ด้านการคำนวณทางคณิตศาสตร์พื้นฐานทั่วไป

32 GPSS จะมีคำสั่งหรือฟังก์ชันในการคำนวณไว้สำหรับเรียกใช้ได้ทันที นั่นคือมี built in math functions และ built in random variate generators ตัวอย่างแผนภาพบล็อกที่ใช้กับภาษา GPSS สามารถแสดงได้ดังรูป 5.3 และรูปแบบของภาษาในการเขียนโปรแกรมสามารถแบ่งออกคอลัมน์ต่าง ๆ สำหรับการเขียนคำสั่งเป็น 4 ส่วน คือ ลาเบล (Label) คำสั่งปฏิบัติการ (Operator) ตัวปฏิบัติการ (Operands) และคอมเมนต์ (Comments) ซึ่งแต่ละส่วนจะมีขอบเขตของคอลัมน์ดังแสดงในตาราง 5.1

33 ตาราง 5.1 แสดงหมายเลขคอลัมน์สำหรับการเขียนโปรแกรม GPSS
Label Operator Operands Comments คอลัมน์ 2-6 คอลัมน์ 8-18 คอลัมน์ที่ 19 ขึ้นไป คอลัมน์ 37 ขึ้นไป และไม่ใช้ คอลัมน์ 72-80

34 รูป 5.3 แสดงสัญลักษณ์ของแผนภาพบล็อก GPSS

35

36 GPSS Code Assume an M/M/1system.
Interarrival time = 2.0 minutes (exponential) Service time = 1.0 minutes (exponential). Assume an infinite queue. * Simulation of M/M/1 system SIMULATE GENERATE RVEXPO(1, 2.0) QUEUE SERVQ SEIZE SERVER ADVANCE RVEXPO(2, 1.0) RELEASE SERVER TERMINATE 1 * * CONTROL STATEMENTS START 1000 END

37 5.5 SIMULA SLAM และ SIMAN SIMULA ย่อมาจาก SIMUlation Language พัฒนามาจากภาษาสำหรับการใช้งานทั่วไปคือ ALGOL 60 ภาษานี้ถูกพัฒนาขึ้นโดยมีวัตถุประสงค์คือต้องการจะสร้างภาษาเฉพาะการจำลองแบบปัญหาที่มีความคล่องตัวสามารถปรับเปลี่ยนเงื่อนไขหรือควบคุมการทำงานต่าง ๆ ได้เหมือนกับภาษาใช้งานทั่ว ๆ ไป ขณะที่ GPSS และ SIMSCRIPT เป็นภาษาเฉพาะการจำลองที่นิยมกันในสหรัฐอเมริกา SIMULA กลับได้รับความนิยมในแถบยุโรป เนื่องจากภาษานี้มีพื้นฐานมาจากคำสั่งภาษา ALGOL ผู้ใช้จึงควรมีความรู้พื้นฐานเกี่ยวกับภาษา ALGOL

38 แนวความคิดของภาษาจะเป็นการทำงานของโพรเซส ซึ่งสามารถทำงานในแบบขนาน และกลุ่มของโพรเซสที่ทำงานร่วมกันจะเรียกว่าเฟสปฏิบัติการ (Active phases) โดยแต่ละโพรเซสจะทำการนำข้อมูลเข้ามาและทำการประมวลผลตามกฏหรือเงื่อนไขที่กำหนดไว้ SLAM ย่อมาจาก Simulation Language for Alternative Modeling ได้ถูกพัฒนาขึ้นในปี 1972 โดย อลัน พริทส์เกอร์และเดวิส เพกเดน (Alan Pritsker and David Pegden) เพื่อใช้กับเครื่อง VAX และ UNIX ซึ่งเป็นเครื่องกลุ่มเวิร์กสเตชัน (workstations) โดยภาษานี้ถูกพัฒนามาจากภาษา FORTRAN แต่เนื่องจาก SLAM นั้นใช้เวลาในการคอมไพล์นาน จึงได้มีการพัฒนาให้มีการคอมไพล์ให้เร็วขึ้นด้วยการแยกส่วนของโปรแกรมออกเป็น โปรแกรมย่อย ๆ โดยภาษาที่ได้รับการพัฒนานี้ถูกเรียกว่า SLAM II

39 แสดงตัวอย่างการเขียนโปรแกรม SLAM II
1 RESOURCE,,SERVER,1,{1}; 2 CREATE,EXPON(2,1),0.0,,INF,1; 3 ACTIVITY; 4 AWAIT,1,{{SERVER,1}},ALL,,NONE,1; 5 ACTIVITY,1,EXPON(1,1); 6 FREE,{{SERVER,1}},1; 7 ACTIVITY; 8 TERMINATE,INF; 1 GEN; 2 LIMITS; 3 INITIALIZE,0.0,1000,YES,,NO; 4 NET; 5 FIN; แสดงตัวอย่างการเขียนโปรแกรม SLAM II

40 สำหรับ SIMAN ย่อมาจาก SIMulation Analysis
ซึ่งเดนนิส เพกเดน (Dennis Pegden) ได้ทำการ พัฒนาขึ้นในปี โดยมีเป้าหมายให้ใช้กับงาน กับเครื่องคอมพิวเตอร์ส่วนบุคคล และมีรูปแบบการ เขียนที่แน่นอนและชัดเจน จากนั้นได้ถูกพัฒนา ต่อให้มีความสามารถในการทำรูปภาพจำลองได้ และเสนอออกมาในปี 1985

41 แสดงตัวอย่างการเขียนภาษา SIMAN
BEGIN; CREATE,,EX(2,1); QUEUE, 1; SEIZE: SERVER; DELAY: EX(1,1); RELEASE:SERVER:DISPOSE; END; DISCRETE, 1000, 1, 1; RESOURCES: 1, SERVER; REPLICATE,1; แสดงตัวอย่างการเขียนภาษา SIMAN

42 SIMAN AND SLAM SIMAN is tailored for the PC market.
SLAM remains focused on workstations. SIMAN introduces an animation package (CINEMA) about 1985 or so. The animation is an add on unit for the model. Originally it required specialized (& expensive) hardware. SLAM responds with a PC version of SLAM in the late 1980s (which also has animation). Both firms develop software to integrate factory scheduling into simulation runs.

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

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

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

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

47 Early PC Versions By the mid-80s the PC market is dominant.
Mainframes are expensive. Cycles are expensive. Central IS groups are expensive. Engineers become computer experts. A lot of IE’s end up writing simulations. There are a number of issues: User development cycles are very long. Total memory (model, entities, etc) limited to about 32k by FORTRAN/C and early versions of DOS. Simulation language development tends to lag OS development.

48 SIMULATORS Advent of Windows 3.0/3.1. Mass penetration of PCs.
Powerful hardware and software (especially OOC) becomes available. We start to see the creation of a variety of simulators. The simulators are usually graphically oriented (drag & drop model development),have integrated animation, and low purchase cost. Huge number of simulators come onto the market. These often lack statistical rigour.

49 Today’s Market There has been something of a rationalization in terms of the number of simulation languages/simulators available. See the May 1999 edition of IIE Solutions. The large simulation companies have all been bought or sold at least a couple of times in the past two – three years. SLAM  Frontstep Systems (a logistics software supplier). Not in active development (last release ’99). SIMAN  Rockwell Software (logistics & controls).

50 Trends Virtual reality animations. Advanced statistical functions
Curve fitting for input data. Automatic detection of warm up Output analysis modules (including replication). Bolt on “Optimizers” – Tools to search for optimal settings of parameters.

51 Witness (Lanner Inc) Simple building block design Interactive
Full range of logic and control options Elements for discrete manufacture, process industries, BPR, e-commerce, call centers, health, finance and government Statistical input and reports Link system to other software easily (CAD/Excel) Optional 3D/VR views Model Optimisation $13,000-$17,000 ($US)

52 ARENA Process hierarchy. Integrates with Microsoft desktop tools
Spreadsheet interface Crystal reports Free runtime software. Fully graphical environment. No programming required. VBA embedded. Optimization with OptQuest for Arena. Builds reusable modules. $1,000 - $17,000 ($US). Various add-in modules available.

53 GPSS/H Successor to the “orginal” simulation language (GPSS).
Was freeware on IBM 360’s Makes use of common program blocks. Proven, reliable software. Extremely flexible. Extensive error checking routines. Post-process animations (Proof) can be built. ~$5,000 ($US)

54 Automod Combines Virtual Reality (VR) graphics with a discrete and continuous simulation environment. Manufacturing operations Material handling systems Tanks and pipe networks IC Manufacturing Transportation and logistics systems $15,000 - $100,000 ($US)

55 Promodel State-of-the-art simulation engine Graphical user interface
Distribution-fitting. Output analysis module Optional optimizer. Modules designed for: Manufacturing Healthcare Services $17,000 ($US)


ดาวน์โหลด ppt บทที่ 5 ภาษาที่ใช้ในการจำลองแบบปัญหา

งานนำเสนอที่คล้ายกัน


Ads by Google