อ่าน 3 นาที
ภาษาการสร้างแบบจำลองเชิงพีชคณิต
ภาษาสร้างแบบจำลองเชิงพีชคณิต ( AML ) เป็น ภาษาการเขียนโปรแกรมคอมพิวเตอร์ ระดับสูงสำหรับอธิบายและแก้ปัญหาที่มีความซับซ้อนสูงสำหรับ การคำนวณ ทางคณิตศาสตร์ ขนาดใหญ่ (เช่น ปัญหาประเภท.
ภาษาการสร้างแบบจำลองเชิงพีชคณิต
ภาษาสร้างแบบจำลองเชิงพีชคณิต ( AML ) เป็น ภาษาการเขียนโปรแกรมคอมพิวเตอร์ ระดับสูงสำหรับอธิบายและแก้ปัญหาที่มีความซับซ้อนสูงสำหรับ การคำนวณ ทางคณิตศาสตร์ ขนาดใหญ่ (เช่น ปัญหาประเภท การหาค่าเหมาะสมที่สุดขนาดใหญ่) [ 1 ] ข้อได้เปรียบที่สำคัญอย่างหนึ่งของภาษาสร้างแบบจำลองเชิงพีชคณิตบางภาษา เช่น AIMMS [ 1 ] AMPL [ 2 ] GAMS [ 1 ] Gekko, MathProg , Mosel [ 1 ] [ 3 ]และOPLคือความคล้ายคลึงกันของไวยากรณ์กับสัญลักษณ์ทางคณิตศาสตร์ของปัญหาการหาค่า เหมาะสมที่สุดซึ่งทำให้สามารถกำหนดปัญหา ใน โดเมน ของการหาค่าเหมาะสมที่สุดได้อย่างกระชับและอ่านง่าย โดยได้รับการสนับสนุนจากองค์ประกอบภาษาบางอย่าง เช่น เซต ดัชนี นิพจน์เชิงพีชคณิต ดัชนีแบบเบาบางที่มีประสิทธิภาพ และตัวแปรการจัดการข้อมูล ข้อจำกัดที่มีชื่อตามอำเภอใจ การกำหนดแบบจำลองเชิงพีชคณิตไม่มีคำแนะนำใดๆ เกี่ยวกับวิธีการประมวลผล
AML ไม่ได้แก้ปัญหาเหล่านั้นโดยตรง แต่จะเรียกใช้อัลกอริธึมภายนอกที่เหมาะสมเพื่อหาคำตอบ อัลกอริธึมเหล่านี้เรียกว่าตัวแก้ปัญหา และสามารถจัดการกับ ปัญหาทางคณิตศาสตร์บางประเภทได้ เช่น:
- ปัญหาเชิงเส้น
- ปัญหาเกี่ยวกับจำนวนเต็ม
- ปัญหาเชิงกำลังสอง (จำนวนเต็มผสม)
- ปัญหาความสมบูรณ์แบบผสม
- โปรแกรมทางคณิตศาสตร์ที่มีข้อจำกัดสมดุล
- ระบบไม่เชิงเส้นที่มีข้อจำกัด
- ปัญหาทั่วไปที่ไม่เป็นเชิงเส้น
- โปรแกรมไม่เชิงเส้นที่มีอนุพันธ์ไม่ต่อเนื่อง
- ปัญหาจำนวนเต็มที่ไม่เป็นเชิงเส้น
- ปัญหาการหาค่าเหมาะสมที่สุดทั่วโลก
- ปัญหาการเพิ่มประสิทธิภาพเชิงสุ่ม
องค์ประกอบหลัก
องค์ประกอบหลักของ AML ได้แก่:
- ตัวแปลภาษาสร้างแบบจำลอง (ตัว AML เอง)
- ลิงก์ตัวแก้ปัญหา
- ส่วนติดต่อผู้ใช้ (UI)
- สิ่งอำนวยความสะดวกในการแลกเปลี่ยนข้อมูล
หลักการออกแบบ
ระบบป้องกันการฟอกเงินส่วนใหญ่มีหลักการออกแบบบางประการ:
- การผสมผสานที่ลงตัวระหว่างองค์ประกอบเชิงประกาศและเชิงกระบวนการ
- สถาปัตยกรรมแบบเปิดและอินเทอร์เฟซเชื่อมต่อกับระบบอื่นๆ
- ชั้นต่างๆ ที่มีการแยกออกจากกัน:
- แบบจำลองและข้อมูล
- แบบจำลองและวิธีการแก้ปัญหา
- แบบจำลองและระบบปฏิบัติการ
- แบบจำลองและอินเทอร์เฟซ
การสร้างแบบจำลองโดยใช้ข้อมูล
ภาษาสร้างแบบจำลองส่วนใหญ่ใช้ประโยชน์จากความคล้ายคลึงกันระหว่างแบบจำลองที่มีโครงสร้างและฐานข้อมูลเชิงสัมพันธ์[ 4 ]โดยการจัดเตรียมเลเยอร์การเข้าถึงฐานข้อมูล ซึ่งช่วยให้ระบบสร้างแบบจำลองสามารถเข้าถึงข้อมูลจากแหล่งข้อมูลภายนอกได้โดยตรง (เช่น ตัวจัดการตารางเหล่านี้[ 5 ]สำหรับ AMPL) ด้วยการปรับปรุงเทคโนโลยีการวิเคราะห์ที่นำไปใช้กับกระบวนการทางธุรกิจ แบบจำลองการเพิ่มประสิทธิภาพจึงกลายเป็นส่วนสำคัญของระบบสนับสนุนการตัดสินใจแบบจำลองการเพิ่มประสิทธิภาพสามารถจัดโครงสร้างและแบ่งเป็นชั้นเพื่อแสดงและสนับสนุนกระบวนการทางธุรกิจที่ซับซ้อน ในแอปพลิเคชันดังกล่าว โครงสร้างข้อมูลหลายมิติซึ่งเป็นแบบฉบับของระบบ OLAP สามารถแมปโดยตรงกับแบบจำลองการเพิ่มประสิทธิภาพ และการดำเนินการ MDDB ทั่วไปสามารถแปลเป็นการดำเนินการรวมและแยกส่วนบนแบบจำลองพื้นฐานได้[ 6 ]
ประวัติศาสตร์
ภาษาสร้างแบบจำลองเชิงพีชคณิตมีรากฐานมาจากโปรแกรมสร้างเมทริกซ์และเขียนรายงาน (MGRW) ซึ่งพัฒนาขึ้นในช่วงปลายทศวรรษ 1970 ตัวอย่างเช่น MAGEN, MGRW (IBM), GAMMA.3, DATAFORM และ MGG/RWG ระบบเหล่านี้ช่วยลดความซับซ้อนในการสื่อสารปัญหาไปยังอัลกอริทึมการแก้ปัญหา และการสร้างรายงานผลลัพธ์ที่อ่านง่าย
เครื่องกำเนิดเมทริกซ์รุ่นแรกสำหรับ LP ได้รับการพัฒนาขึ้นราวปี 1969 ที่ Mathematisch Centrum (ปัจจุบันคือ CWI) อัมสเตอร์ดัม[ 7 ] ไวยากรณ์ของมันใกล้เคียงกับสัญลักษณ์ทางคณิตศาสตร์ทั่วไปมาก โดยใช้ตัวห้อย en sigmas อินพุตสำหรับเครื่องกำเนิดประกอบด้วยส่วนแยกต่างหากสำหรับแบบจำลองและข้อมูล เครื่องกำเนิดนี้ถูกนำไปใช้ในมหาวิทยาลัยและในอุตสาหกรรม ผู้ใช้หลักในอุตสาหกรรมคือผู้ผลิตเหล็ก Hoogovens (ปัจจุบันคือ Tata Steel) ซึ่งใช้มาเกือบ 25 ปี
ก้าวสำคัญสู่ภาษาการสร้างแบบจำลองสมัยใหม่พบได้ใน UIMP [ 8 ]ซึ่งมีการวิเคราะห์โครงสร้างของ แบบจำลอง การเขียนโปรแกรมทางคณิตศาสตร์ที่นำมาจากชีวิตจริงเป็นครั้งแรก เพื่อเน้นการจัดกลุ่มตามธรรมชาติของตัวแปรและข้อจำกัดที่เกิดขึ้นจากแบบจำลองดังกล่าว สิ่งนี้นำไปสู่คุณลักษณะโครงสร้างข้อมูลที่สนับสนุนการสร้างแบบจำลองเชิงโครงสร้าง ในกระบวนทัศน์นี้ ตารางอินพุตและเอาต์พุตทั้งหมด พร้อมด้วยตัวแปรการตัดสินใจ จะถูกกำหนดในแง่ของโครงสร้างเหล่านี้ ในลักษณะที่เทียบได้กับการใช้ดัชนีและเซต นี่อาจเป็นคุณลักษณะที่โดดเด่นที่สุดเพียงอย่างเดียวที่พบได้ใน AML สมัยใหม่ทั้งหมด และในที่สุดก็ทำให้เกิดการแยกโครงสร้างแบบจำลองออกจากข้อมูล และความสอดคล้องกันระหว่างเอนทิตีในแบบจำลอง MP และข้อมูลในฐานข้อมูลเชิงสัมพันธ์ ดังนั้น ในที่สุดแบบจำลองจึงสามารถสร้างอินสแตนซ์และแก้ไขได้บนชุดข้อมูลต่างๆ เพียงแค่แก้ไขชุดข้อมูลเท่านั้น
ความสอดคล้องกันระหว่างเอนทิตีการสร้างแบบจำลองและแบบจำลองข้อมูลเชิงสัมพันธ์[ 4 ]ทำให้สามารถสร้างอินสแตนซ์แบบจำลองได้อย่างราบรื่นโดยการดึงข้อมูลจากฐานข้อมูลขององค์กร คุณสมบัตินี้มีส่วนสำคัญต่อความสามารถในการใช้งานของการเพิ่มประสิทธิภาพในแอปพลิเคชันในชีวิตจริง และได้รับการสนับสนุนจากภาษาการสร้างแบบจำลองที่เป็นที่รู้จักกันดีส่วนใหญ่
ในอดีต ภาษาสำหรับการสร้างแบบจำลองเชิงพีชคณิตมักเป็นภาษาเฉพาะทางที่แยกตัวออกมาและใช้ในเชิงพาณิชย์ แต่ในปัจจุบัน ภาษาสำหรับการสร้างแบบจำลองเชิงพีชคณิตเริ่มปรากฏในรูปแบบของไลบรารีเฉพาะทางแบบโอเพนซอร์สภายในภาษาที่ใช้งานได้ทั่วไป เช่นGekkoหรือPyomoสำหรับPythonหรือJuMPสำหรับภาษา Julia
AML ที่น่าสนใจ
AML เฉพาะทาง
แพ็คเกจ AML ในภาษาโปรแกรมทั่วไป
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ภาษาการสร้างแบบจำลองเชิงพีชคณิต
ภาษาสร้างแบบจำลองเชิงพีชคณิต ( AML ) เป็น ภาษาการเขียนโปรแกรมคอมพิวเตอร์ ระดับสูงสำหรับอธิบายและแก้ปัญหาที่มีความซับซ้อนสูงสำหรับ การคำนวณ ทางคณิตศาสตร์ ขนาดใหญ่ (เช่น ปัญหาประเภท.
หลักการออกแบบ
ระบบป้องกันการฟอกเงินส่วนใหญ่มีหลักการออกแบบบางประการ:
การสร้างแบบจำลองโดยใช้ข้อมูล
ภาษาสร้างแบบจำลองส่วนใหญ่ใช้ประโยชน์จากความคล้ายคลึงกันระหว่างแบบจำลองที่มีโครงสร้างและฐานข้อมูลเชิงสัมพันธ์ [ 4 ] โดยการจัดเตรียมเลเยอร์การเข้าถึงฐานข้อมูล ซึ่งช่วยให้ระบบสร้างแบบจำลองสามารถเข้าถึงข้อมูลจากแหล่งข้อมูลภายนอกได้โดยตรง (เช่น...
ประวัติศาสตร์
ภาษาสร้างแบบจำลองเชิงพีชคณิตมีรากฐานมาจากโปรแกรมสร้างเมทริกซ์และเขียนรายงาน (MGRW) ซึ่งพัฒนาขึ้นในช่วงปลายทศวรรษ 1970 ตัวอย่างเช่น MAGEN, MGRW (IBM), GAMMA.