เอนีลอจิก

**AnyLogic** เป็นเครื่องมือสร้าง Simulation แบบ Multimethod พัฒนาโดย บริษัท AnyLogic (อดีต XJ เทคโนโลยี) ซึ่งสนับสนุนการสร้างโมเดลแบบ agent-based, discrete event, and system dynamics simulation เวอร์ชัน AnyLogic PLE สามารถใช้ได้ฟรีสำหรับวัตถุประสงค์ในด้านการศึกษาด้วยตนเองและการศึกษาทั่วไป


## ประวัติของ AnyLogic
ต้นทศวรรษของปี 1990 ที่มีความสนใจมากในวิธีการทางคณิตศาสตร์เพื่อการสร้างแบบจำลองและการจำลองของกระบวนการคู่ขนาน วิธีการนี้อาจจะนำไปใช้ในการวิเคราะห์ความถูกต้องของโปรแกรมแบบขนานและกระจาย Distributed Computer Network (DCN) กลุ่มวิจัยที่เซนต์ปีเตอร์สเบิร์กมหาวิทยาลัยเทคนิคได้พัฒนาระบบซอฟต์แวร์สำหรับการวิเคราะห์ความถูกต้องของโปรแกรมที่มีชื่อว่า COVER (Concurrent Verification and Simulation) ระบบนี้สามารถรองรับสัญลักษณ์ในการสร้างโมเดลทั้งในด้านโครงสร้างและพฤติกรรม เครื่องมือถูกนำมาใช้ในการวิจัยที่ได้รับอนุญาตจาก Hewlett Packard

ในปี 1998 ความสำเร็จในการวิจัยครั้งนี้เป็นแรงบันดาลใจกับห้องปฏิบัติการ DCN ในการจัดตั้งบริษัท ที่จะมีภารกิจหลักในการพัฒนาซอฟแวร์ simulation ยุคใหม่ การพัฒนาหลัก ๆ เน้นไปที่เทคนิคต่าง ๆ : simulation, performance analysis, behavior of stochastic systems, optimization and visualization ซอฟแวร์ตัวใหม่ที่ออกในปี 2000 อยู่บนพื้นฐานของเทคโนโลยีที่ล้ำสมัย: object-oriented, UML มาตรฐาน, การใช้ Java, GUI ที่ทันสมัย ฯลฯ
right|thumb|500x500px|Three business simulation approaches
เครื่องมือถูกขนานนามว่า AnyLogic เพราะมันได้รับการสนับสนุนจากการสร้างโมเดลทั้ง 3 แบบที่รู้จักกันดี:
* System dynamics
* Discrete event simulation
* Agent-based modeling
+ รองรับการผสมผสานระหว่างโมเดลเหล่านี้ภายในโมเดลเดียวกัน
AnyLogic รุ่นแรกคือ AnyLogic 4 โดยนับเลขต่อจาก COVER 3.0

ก้าวที่ยิ่งใหญ่เกิดขึ้นในปี 2003 เมื่อ AnyLogic 5 ได้รับการเปิดตัว และมีเป้าหมายไปที่การจำลองธุรกิจในโดเมนต่อไปนี้
* Market and Competition
* Healthcare
* Manufacturing,
* Supply Chain
* Logistics
* Retail
* Business Processes
* Social and Ecosystem Dynamics
* Defense
* Project and Asset Management
* IT Infrastructure
* Pedestrian Dynamics and Traffic simulation
* Aerospace
* Photovoltaics
AnyLogic 7 ได้รับการเปิดตัวในปี 2014 เป็นการเปิดตัวที่ใหญ่ที่สุดสำหรับ 7 ปีที่ผ่านมา โดยมาพร้อมกับ Features ต่าง ๆ ที่มีการปรับปรุงครั้งหญ่อย่างที่สุด เพื่อลดความซับซ้อนของการสร้างรูปแบบผสมผสานเพื่อสนับสนุนความเป็น multimethod, ลดความจำเป็นในการ coding, ปรับปรุง library และปรับปรุงการใช้งานอื่น ๆ ให้ใช้การง่าย

AnyLogic 7.1 ได้รับการเปิดตัวในปี 2014 นอกจากนี้ยังรวมถึงการใช้งานแผนที่ GIS มาในซอฟต์แวร์ นอกเหนือไปจากแผนที่ shapefile แล้ว AnyLogic เริ่มที่จะสนับสนุนแผนที่จากผู้ให้บริการออนไลน์ฟรีต่าง ๆ รวมทั้ง OpenStreetMap และ Google Maps

แพลตฟอร์มสำหรับ AnyLogic 7 ใช้ model development environment Eclipse AnyLogic 7 เป็นซอฟต์แวร์ที่สามารถทำงานข้ามแพลตฟอร์มที่สามารถทำงานบน Windows, Mac OS และ Linux

## AnyLogic และ Java
AnyLogic มาพร้อมกับ graphical modeling language และเปิดช่องให้ผู้ใช้สามารถขยายโมเดล Simulation ด้วยโค้ดจาวา AnyLogic สามารถรองรับปรับแต่งโมเดลที่กำหนดเองผ่านทางภาษาจาวา พร้อมกับการเขียนโปรแกรมจาวา Applet ซึ่งสามารถเปิดได้กับเบราว์เซอร์มาตรฐานซึ่งทำให้ง่านที่จะแบ่งปันหรือฝากไว้บนเว็บไซต์ นอกเหนือไปจากจาวา applets เวอร์ชัน professional สามารถสร้าง Java Run Time Application ซึ่งสามารถกระจายให้กับผู้ใช้เป็นเครื่องมือสนับสนุนการตัดสินใจ

## Multimethod simulation modeling
right|thumb|500x500px|How simulation approaches correspond to the level of abstraction
โมเดล AnyLogic สามารถใช้ประเภทโมเดลต่าง ๆ ได้ ดังนี้ discrete event or process-centric (DE), systems dynamics (SD), and agent-based (AB)

System dynamics and discrete event เป็นวิธีการทำ simulation แบบเดิมที่รู้จักกันดีในขณะที่ agent based เป็นวิธีใหม่ ในทางเทคนิค System dynamics ใช้กับกระบวนการที่มีความต่อเนื่องในขณะที่ discrete event และ agent based ใช้กับกระบวนการที่มีความไม่ต่อเนื่อง เช่น การกระโดดลงมาจากเหตุการณ์หนึ่งไปยังอีกเหตุการณ์หนึ่ง

System dynamics and discrete event ในอดีตได้รับการสอนในมหาวิทยาลัยให้กับกลุ่มนักเรียนที่แตกต่างกัน คือ การจัดการและเศรษฐศาสตร์ วิศวะอุตสาหกรรมและการดำเนินงาน เป็นผลให้สองกลุ่มผู้ปฏิบัติงานที่แตกต่างกันไม่เคยได้คุยกัน

จนกระทั่งเมื่อเร็ว ๆ นี้ Agent based เริ่มได้รับความสนใจการทางทางวิชาการ แต่ต้องการที่เพิ่มขึ้นสำหรับการทำ optimization จากธุรกิจทั่วโลกเกิดจากการสร้าง simulation เป็นสาเหตุให้นักพัฒนาโมเดลเริ่มที่จะมองหาวิธีการทำงานร่วมกันของโมเดลที่แตกต่างกัน เพื่อความเข้าใจที่ลึกซึ้งมากขึ้น โดยในเดลที่รวมกันแล้วกระบวนการจะต้องมีทำงานสอดคล้องกัน แม้ว่าธรรมชาติการทำงานจะแตกต่างกันมาก

System dynamics ใช้อย่างเห็นได้ชัดใน abstract level สูงสุด Discrete event ใช้ใน abstract level ระดับต่ำถึงกลาง ในยณะที่ agent based ใช้ในทุก ๆ abstract level และ agent สามารถนำมาใช้โมเดลวัตถุที่มีความหลากหลายในขนาดและพฤติกรรมได้ ที่มีความหลากหลายมากและขนาด: ใน physical level agent อาจจะเป็น คนเดินเท้าหรือรถยนต์หรือหุ่นยนต์ ใน middle level agent อาจจะเป็นลูกค้า ใน highest level agent อาจจะเป็นการแข่งขันระหว่างบริษัทต่าง ๆ

AnyLogic ช่วยให้นักพัฒนาโมเดลสามารถรวมวิธี simulation อยู่ภายในโมเดลเดียวกัน ไม่มีลำดับชั้นที่ตายตัว ยกตัวอย่างเช่น package shipping industry พาหนะขนส่งสินค้า คือ agent สามารถสื่อระหว่างกันได้อย่างอิสระในขณะที่ network การขนส่งและโครงสร้างพื้นฐานของพวกเขาอาจจะโมเดลให้เป็น discrete event ผู้บริโภค คือ agent ที่มีพฤติกรรมการบริโภคและใช้ system dynamics แสดงการเปลี่ยนแปลงในเรื่องรายได้หรือค่าใช้จ่ายที่ไม่จำเป็นต้องมีการเชื่อมโยงกับตัวแทนของแต่ละบุคคล

## ภาษา Simulation
right|thumb|500x500px|Simulation language constructions provided by AnyLogic
ภาษาจำลอง AnyLogic ประกอบด้วยรายการต่อไปนี้:
* **Stock & Flow Diagrams** ใช้กับโมเดล System Dynamics
* **[[เครื่องสถานะจำกัด|Statecharts]]** ใช้ในโมเดล Agent Based สาหรับบ่งชี้พฤติกรรมของ agent แต่ก็อาจมีบางครั้งที่ใช้ใน โมเดล Discrete Event เช่น จำลองสถานการณ์ machine failure
* **Action charts** ใช้ในการอธิบาย algorithms ซึ่งอาจใช้ในโมเดล Discrete Event เช่น call routing, หรือโมเดล Agent Based  เช่น agent decision logic.
* **Process flowcharts** ใช้กับโมเดล Discrete Event  
ภาษายังรวมถึง: low level modeling constructions (variables, equations, parameters, events etc.), presentation shapes (lines, polylines, ovals etc.), analysis facilities (datasets, histograms, plots), connectivity tools, standard images, และ experiments frameworks.

## AnyLogic libraries
AnyLogic มาพร้อมกับ libraries มาตรฐาน ดังต่อไปนี้ :
* **The Process Modeling Library** ถูกออกแบบมาเพื่อรองรับการจำลอง DE ในการผลิต, ห่วงโซ่อุปทานโลจิสติกและพื้นที่การดูแลสุขภาพ การใช้ process Modeling Library คุณสามารถจำลองโลกเสมือนจริงของระบบในแง่ของ entity (การทำธุรกรรม, ลูกค้า, ผลิตภัณฑ์, ชิ้นส่วน, ยานพาหนะ ฯลฯ) process (ลำดับของการดำเนินงานที่เกี่ยวข้องกับการรอคิว, ความล่าช้า, การใช้ทรัพยากร) และ resource กระบวนการที่ระบุไว้ในรูปแบบ flowchart process Modeling Library คุณสมบัติซึ่งเคยมีอยู่ใน AnyLogic 6 และยังมีอยู่ใน AnyLogic 7
* **The Pedestrian Library**ใช้ในการจำลองการไหลของคนเดินเท้าในสภาพแวดล้อมจริง จะช่วยให้คุณเพื่อสร้างแบบจำลองของอาคารที่มีคนเดินเท้าปริมาณมาก ๆ (subway station, security check ฯลฯ ) หรือถนน (คนเดินเท้าจำนวนมาก) โมเดลสนับสนุนการเก็บสถิติกับความหนาแน่นของคนเดินเท้าในพื้นที่ที่แตกต่างกัน ทำให้ยืนยันประสิทธิภาพการทำงานของจุดให้บริการ  ประเมินระยะเวลาที่ใช้ในพื้นที่ และสามารถหาต้นตอของปัญหาที่ทำให้ทางเดินภายในติดขัด - เช่นผลกระทบของสิ่งกีดขวางที่มากเกินไป - และโปรแกรมอื่น ๆ ในโมเดลที่สร้างขึ้นด้วย  pedestrian Library คนเดินเท้าเป็น agent ชนิดหนึ่งที่สามารถเคลื่อนที่ไปในพื้นที่อย่างต่อเนื่อง และมีปฏิกิริยาที่แตกต่างกันต่อสิ่งกีดขวางที่เผชิญ (ผนังแตกต่างกันของพื้นที่) บนการทำงานที่ซับซ้อน แต่ AnyLogic Pedestrian Library มี Interface ในระดับที่สูงขึ้นสำหรับการสร้างโมเดลคนเดินเท้าอย่างรวดเร็วในรูปแบบ flowchart
* **The Rail Library** สนับสนุนการสร้างแบบจำลองเลียนแบบและแสดงผลการดำเนินงานของระบบรางรถไฟบนทุกความซับซ้อนและขนาดของโมเดล โมเดล rail สามารถใช้ร่วมกับ discrete event และ agent based ที่เกี่ยวข้องกับ: การขนถ่าย, การจัดสรรทรัพยากร, และการบำรุงรักษา, กระบวนการทางธุรกิจ, และกิจกรรมการขนส่งอื่น ๆ

นอกจาก library ที่มาพร้อมกับ AnyLogic เหล่านี้ ผู้ใช้สามารถสร้าง library ของตัวเองขึ้นมาได้

## เวอร์ชันฟรีสำหรับภาคการศึกษา
ตั้งแต่ปี 2015 AnyLogic ส่วนบุคคลการเรียนรู้ Edition (PLE) สามารถใช้ได้ฟรีสำหรับวัตถุประสงค์ของการศึกษาและการศึกษาด้วยตนเอง ใบอนุญาต PLE เป็นตลอด แต่รูปแบบที่สร้างขึ้นจะถูก จำกัด ขนาด 

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

## ที่เกี่ยวข้อง
* Comparison of agent-based modeling software
* List of computer simulation software
* List of discrete event simulation software
* Computer simulation

## References

## Further reading
* 
* 
* 

## เชื่อมโยงภายนอก
* 
* AnyLogic overview at anylogic.com
หมวดหมู่:ซอฟต์แวร์บนแมคโอเอส