Original Title: Scheduling of teaching resources and classes using mixed integer linear programming - A case study in a university of applied sciences
Source: sal.aalto.fi
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការកំណត់កាលវិភាគធនធានបង្រៀន និងថ្នាក់រៀនដោយប្រើប្រាស់កម្មវិធី Mixed Integer Linear Programming - ការសិក្សាស្រាវជ្រាវនៅសាកលវិទ្យាល័យវិទ្យាសាស្ត្រអនុវត្ត

ចំណងជើងដើម៖ Scheduling of teaching resources and classes using mixed integer linear programming - A case study in a university of applied sciences

អ្នកនិពន្ធ៖ Vendla Sandström (Aalto University), Raimo P. Hämäläinen, Antti Toppila

ឆ្នាំបោះពុម្ព៖ 2012 (Aalto University)

វិស័យសិក្សា៖ Applied Mathematics / Operations Research

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ សាកលវិទ្យាល័យនានាជួបប្រទះការលំបាកក្នុងការរៀបចំកាលវិភាគសិក្សាដោយដៃ (Manual Timetabling) ដែលចំណាយពេលច្រើន និងមិនអាចប្រើប្រាស់ធនធានបន្ទប់ ឬពេលវេលាគ្រូបង្រៀនឱ្យបានពេញលេញនិងមានប្រសិទ្ធភាព។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានបង្កើតម៉ូដែលគណិតវិទ្យាដោយបែងចែកការដោះស្រាយជាបីដំណាក់កាល ដើម្បីសម្រួលដល់ការគណនាដ៏ស្មុគស្មាញនៃប្រព័ន្ធទិន្នន័យធំៗ។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Manual Timetabling
ការរៀបចំកាលវិភាគដោយដៃ
ងាយស្រួលក្នុងការពិចារណាលើចំណង់ចំណូលចិត្តផ្ទាល់ខ្លួនរបស់គ្រូ និងនិស្សិត (Soft constraints) ដោយភាពបត់បែន។ ចំណាយពេលយូរណាស់ (ច្រើនសប្តាហ៍) និងមិនអាចប្រើប្រាស់ធនធានបន្ទប់បានអស់សក្តានុពល។ ជាទូទៅទាមទារឱ្យមានបន្ទប់លើសតម្រូវការដើម្បីជៀសវាងការជាន់ម៉ោង។ ប្រើប្រាស់ទំហំបន្ទប់រៀនបានត្រឹមតែប្រមាណ ៣០% ទៅ ៣៣% ប៉ុណ្ណោះនៃទំហំសរុប។
Three-Stage MILP Approach
ការដោះស្រាយជា ៣ ដំណាក់កាលដោយប្រើ MILP
សន្សំសំចៃពេលវេលា ជួយស្វែងរកកាលវិភាគដែលមិនជាន់ម៉ោងគ្នាតាមបែបគណិតវិទ្យា និងបង្កើនប្រសិទ្ធភាពនៃការប្រើប្រាស់ធនធាន។ ទាមទារការកំណត់ទម្ងន់ទិន្នន័យ (Weight tuning) ស្មុគស្មាញ ហើយមិនអាចទទួលយកលក្ខខណ្ឌចំណូលចិត្តរបស់មនុស្សបានទាំងអស់នោះទេ ព្រោះអាចធ្វើឱ្យម៉ូដែលគាំង។ បង្កើនអត្រាប្រើប្រាស់បន្ទប់បានដល់ ៥៨% (ប្រើតែ ១៦ បន្ទប់ ជំនួសឱ្យ ២០ បន្ទប់) និងរកឃើញកាលវិភាគក្នុងរយៈពេលគិតជាអប្បបរមា (នាទី/ម៉ោង)។
Direct Optimization Approach
ការដោះស្រាយបញ្ហាទាំងមូលក្នុងពេលតែមួយ (Direct Approach)
អាចផ្តល់នូវលទ្ធផលល្អឥតខ្ចោះបំផុត (Global Optimal Solution) ប្រសិនបើកុំព្យូទ័រអាចដោះស្រាយបាន។ ទិន្នន័យមានទំហំធំពេក (Combinatorial complexity) ដែលធ្វើឱ្យកុំព្យូទ័រមិនអាចគណនាបាន និងអស់ទំហំផ្ទុក។ មិនអាចដំណើរការបានសម្រាប់ទិន្នន័យជាក់ស្តែង ព្រោះប្រព័ន្ធរាយការណ៍ថា Out of Memory (ដំណើរការគាំង)។

ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះទាមទារម៉ាស៊ីនកុំព្យូទ័រកម្រិតមធ្យម និងកម្មវិធី Software ជាក់លាក់ក្នុងការគណនាសមីការគណិតវិទ្យា (Operations Research)។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះត្រូវបានធ្វើឡើងនៅសាកលវិទ្យាល័យអនុវត្តន៍ (HAMK) ក្នុងប្រទេសហ្វាំងឡង់ ដោយផ្អែកលើកម្មវិធីសិក្សា និងរចនាសម្ព័ន្ធអប់រំបែបអឺរ៉ុប។ សម្រាប់ប្រទេសកម្ពុជា ការអនុវត្តម៉ូដែលនេះត្រូវប្រុងប្រយ័ត្ន ព្រោះនៅកម្ពុជា គ្រូបង្រៀនភាគច្រើនជាសាស្រ្តាចារ្យក្រៅម៉ោង (Part-time) ដែលបង្រៀននៅសាកលវិទ្យាល័យច្រើនក្នុងពេលតែមួយ ដែលធ្វើឲ្យកម្រិតឧបសគ្គ (Constraints) នៃពេលវេលាគ្រូមានភាពស្មុគស្មាញជាង។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

ទោះបីជាមានភាពខុសគ្នានៃបរិបទក៏ដោយ ម៉ូដែល MILP នេះមានសារៈសំខាន់ និងអាចដោះស្រាយបញ្ហាកង្វះខាតបន្ទប់នៅតាមគ្រឹះស្ថានអប់រំនៅកម្ពុជាបានយ៉ាងមានប្រសិទ្ធភាព។

ការប្តូរពីការរៀបចំកាលវិភាគលើ Excel ដោយដៃ មកប្រើប្រាស់ប្រព័ន្ធស្វ័យប្រវត្តិ (Automated Timetabling) នឹងជួយសាកលវិទ្យាល័យនៅកម្ពុជាសន្សំសំចៃការចំណាយលើការសាងសង់អាគារថ្មី ដោយគ្រាន់តែប្រើប្រាស់បន្ទប់ដែលមានស្រាប់ឱ្យអស់លទ្ធភាព។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. រៀបចំទិន្នន័យជាទម្រង់ឌីជីថលស្តង់ដារ: ប្រមូលនិងរៀបចំទិន្នន័យដូចជា បញ្ជីមុខវិជ្ជា ចំនួននិស្សិតក្នុងមួយក្រុម ទំហំបន្ទប់រៀន និងម៉ោងទំនេររបស់គ្រូ ទៅក្នុងប្រព័ន្ធទិន្នន័យ ឬឯកសារ Excel ដែលមានរចនាសម្ព័ន្ធច្បាស់លាស់។
  2. សិក្សាពីកម្មវិធី Operations Research Tools: ចាប់ផ្តើមរៀនប្រើប្រាស់កម្មវិធីដោះស្រាយសមីការ MILP ដូចជា IBM ILOG CPLEX (សម្រាប់សាកលវិទ្យាល័យ) ឬប្រើប្រាស់ Python libraries ឥតគិតថ្លៃដូចជា PuLP ឬ Google OR-Tools។
  3. បង្កើតម៉ូដែលគណិតវិទ្យា (Mathematical Formulation): កំណត់លក្ខខណ្ឌដាច់ខាត (Hard constraints - ដូចជាគ្រូម្នាក់មិនអាចបង្រៀនពីរថ្នាក់ក្នុងពេលតែមួយ) និងលក្ខខណ្ឌបន្ទាប់បន្សំ (Soft constraints - ដូចជាការចង់បានម៉ោងសម្រាក) ជាទម្រង់សមីការគណិតវិទ្យា។
  4. បែងចែកការគណនាជាដំណាក់កាល (Decomposition Strategy): អនុវត្តតាមឯកសារដោយកុំដោះស្រាយកាលវិភាគទាំងមូលក្នុងពេលតែមួយ។ ត្រូវបែងចែកជា ៣ ដំណាក់កាល៖ ១. កំណត់មុខវិជ្ជាតាមឆមាស ២. កំណត់ម៉ោងបង្រៀនប្រចាំសប្តាហ៍ ៣. កំណត់កាលវិភាគជាក់លាក់ប្រចាំថ្ងៃ។
  5. អភិវឌ្ឍកម្មវិធីចំណុចប្រទាក់ (Develop UI): ដោយសារ CPLEX មានភាពស្មុគស្មាញសម្រាប់បុគ្គលិករដ្ឋបាលទូទៅ គួរបង្កើត Web App ងាយស្រួលប្រើដោយប្រើប្រាស់ Streamlit ឬ Django ដើម្បីឱ្យបុគ្គលិកអាចបញ្ចូលទិន្នន័យ និងទាញយកកាលវិភាគបានដោយចុចប៊ូតុង។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Mixed integer linear programming វិធីសាស្ត្រគណិតវិទ្យាក្នុងការស្វែងរកជម្រើសដែលល្អបំផុត (Optimization) ដោយប្រើសមីការលីនេអ៊ែរ ដែលក្នុងនោះអថេរមួយចំនួនត្រូវតែកំណត់ជាចំនួនគត់ (ឧទាហរណ៍៖ ចំនួនបន្ទប់ ឬចំនួនម៉ោងមិនអាចមានក្បៀស)។ វាត្រូវបានប្រើក្នុងឯកសារនេះដើម្បីបែងចែកថ្នាក់រៀនទៅតាមម៉ោងនិងបន្ទប់ដោយមិនឱ្យជាន់គ្នា។ ដូចជាការគណនារៀបអីវ៉ាន់ចូលប្រអប់ឱ្យបានច្រើនបំផុត ដោយមានលក្ខខណ្ឌថាអីវ៉ាន់ខ្លះមិនអាចកាត់ជាពីរបានទេ (ត្រូវតែជារបស់មូល ឬចំនួនគត់)។
Objective function សមីការគណិតវិទ្យាដែលតំណាងឱ្យគោលដៅចម្បងនៃការគណនា ដូចជាការកាត់បន្ថយម៉ោងទំនេរចោលរបស់និស្សិត ការកាត់បន្ថយការដើរឆ្លងអគារ ឬការធ្វើឱ្យបន្ទុកការងារគ្រូមានតុល្យភាព ដើម្បីឱ្យម៉ាស៊ីនដឹងថាជម្រើសមួយណាប្រសើរបំផុត។ ដូចជាត្រីវិស័យ ឬគោលដៅនៅលើផែនទី ដែលប្រាប់កម្មវិធីកុំព្យូទ័រថាតើលទ្ធផលមួយណាដែលយើងចង់បានបំផុតពីចំណោមជម្រើសរាប់ពាន់។
Hard constraints លក្ខខណ្ឌតឹងរ៉ឹងដាច់ខាតនៅក្នុងម៉ូដែលប្រព័ន្ធគណនាដែលមិនអាចបំពានបានជាដាច់ខាត ដូចជា គ្រូបង្រៀនម្នាក់មិនអាចបង្រៀនពីរថ្នាក់ក្នុងពេលតែមួយ ឬបន្ទប់មួយមិនអាចដាក់សិស្សលើសចំណុះ។ ដូចជាច្បាប់ចរាចរណ៍ភ្លើងក្រហម ដែលអ្នកបើកបរត្រូវតែឈប់ដាច់ខាត មិនអាចបំពានបានឡើយ។
Soft constraints លក្ខខណ្ឌបន្ទាប់បន្សំ ឬចំណង់ចំណូលចិត្តដែលកម្មវិធីព្យាយាមបំពេញឱ្យបានច្រើនបំផុតតាមដែលអាចធ្វើទៅបាន ប៉ុន្តែអាចបំពានបានប្រសិនបើគ្មានជម្រើស ដើម្បីឱ្យប្រព័ន្ធនៅតែអាចបញ្ចេញកាលវិភាគបាន (ឧទាហរណ៍៖ ការចង់ឱ្យសិស្សរៀនជាប់ៗគ្នាដោយគ្មានម៉ោងសម្រាកកណ្តាល)។ ដូចជាការប្រាប់ម៉ាស៊ីនត្រជាក់ឱ្យកំណត់សីតុណ្ហភាពនៅ ២៥ ដឺក្រេ ប៉ុន្តែបើសិនអាកាសធាតុក្តៅខ្លាំង ម៉ាស៊ីនអាចធ្វើបានត្រឹម ២៧ ដឺក្រេក៏យើងនៅអាចទទួលយកបាន។
Combinatorial complexity បាតុភូតដែលចំនួនជម្រើស (Combinations) នៃការរៀបកាលវិភាគកើនឡើងយ៉ាងគំហុកនៅពេលមានការបន្ថែមទិន្នន័យ (ដូចជាថ្នាក់រៀន គ្រូ និងបន្ទប់) ធ្វើឱ្យកុំព្យូទ័រពិបាកក្នុងការគណនារកចម្លើយ និងអាចគាំង (Out of memory)។ ដូចជាការរៀបកូដចាក់សោរ បើមានលេខសម្ងាត់ត្រឹម៣ខ្ទង់ យើងងាយស្រួលទាយ ប៉ុន្តែបើមានដល់១០ខ្ទង់ ចំនួនជម្រើសនឹងកើនឡើងរាប់លានដងដែលធ្វើឱ្យយើងស្ទើរតែមិនអាចទាយត្រូវ។
Feasible solution ចម្លើយ ឬលទ្ធផលកាលវិភាគដែលអាចយកទៅអនុវត្តបានជាក់ស្តែង ដោយសារវាគោរពតាមលក្ខខណ្ឌដាច់ខាត (Hard constraints) ទាំងអស់ និងមិនមានជាន់ម៉ោងគ្នា ទោះបីជាវាមិនមែនជាជម្រើសដែលល្អឥតខ្ចោះបំផុត (Optimal) ក៏ដោយ។ ដូចជាការរកផ្លូវជិះម៉ូតូទៅសាលា ទោះបីជាមិនមែនជាផ្លូវដែលលឿនបំផុត ឬល្អឥតខ្ចោះ១០០% តែវាជាផ្លូវដែលអាចឱ្យយើងទៅដល់សាលាបានដោយសុវត្ថិភាពនិងទាន់ពេល។
Pre-enrollment approach ការរៀបចំកាលវិភាគសិក្សាដោយផ្អែកលើកម្មវិធីសិក្សាស្តង់ដារ (Curriculum) ឬចំនួនប៉ាន់ស្មាន ជាជាងរង់ចាំឱ្យនិស្សិតចុះឈ្មោះរើសមុខវិជ្ជាជាក់ស្តែងសិន (Actual enrollments) ដើម្បីឱ្យនិស្សិតដឹងកាលវិភាគមុនពេលសម្រេចចិត្តចុះឈ្មោះ។ ដូចជាការចម្អិនម្ហូបទុកមុនក្នុងពិធីជប់លៀងដោយប៉ាន់ស្មានតាមមុខម្ហូបស្តង់ដារ ជាជាងការរង់ចាំសួរភ្ញៀវម្នាក់ៗសិនទើបចាប់ផ្តើមធ្វើ។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖