「SMES AI 智慧排課系統 v2.12.0」是阿凱老師為石門國小(Shih Men Elementary School)客製的智慧排課工具,用 遺傳演算法 GA v3.1 取代傳統手工 Excel,把教務組長 7 月暑假 5-7 天連續加班的痛苦壓縮到 2 小時。
🎯 核心特色
- 🧬 遺傳演算法 GA v3.1(不是 CSP 不是模擬退火) — 染色體每班 35 個基因(5 天 × 7 節)、族群 100、菁英保留 Top 3、自適應突變率,一次處理全校六年級各 N 班
- 🔧 混合修復突變五選一策略 — 教師衝突修復 30% / 數學修復 17.5% / 國語修復 17.5% / 定向優化 21% / 隨機交換 14%
- 🌱 Smart Seed(v3.1 加速收斂) — 用「上學期最佳染色體」當新學期初始族群,50% Smart + 50% Random 保多樣性
- 🔗 AI 鏈式衝突解決 —
ConflictResolver.jsx採深度 BFS 搜尋多步交換路徑(A→B、B→C),一鍵解排課僵局 - ⚖️ 三層計分 — 硬限制 −50,000/次(教師衝突、數學下午禁排)/ 軟限制 −500 ~ −5,000(體育避第 3-4 節、國語分散五天)/ 教師疲勞警告(連續 3 節以上)
- 🇹🇼 台灣國小規則寫死 — 全校週三下午停課、一二年級只有週二全天、三四年級週五下午停課、五六年級全週滿課
- 📊 Excel 雙向 IO — 匯入舊配課表(全形 / 半形正規化 + 模糊比對)+ 匯出「Editorial Luxury」三欄漸層卡片(ExcelJS + html2canvas + jsPDF)
- 🔄 智慧代課推薦 — 三級推薦(最佳 / 可考慮 / 備選)+ 過勞防護(單日 ≤ 5 節)+ 科目相符判斷
💡 設計理念
取代傳統桌機版 STC.EXE 581KB(repo 根目錄保留作對照組)。技術棧 React 19 + Vite 7 + Firebase Auth + Firestore + Zustand + vite-plugin-pwa 離線、IndexedDB(idb)+ Firestore 雲端快照可一鍵還原任一歷史版本。127 個單元測試 + 23 個 Firestore Rules 測試 + CI 三 jobs(lint / test / rules / build),工程紀律企業級。Footer:「Developed with ❤️ for SMES by Antigravity AI」。
🎒 適合情境
國中小教務組長 / 教務主任 6-7 月必用 — 6 月就開始輸入師資資料,暑假還沒到課表就已排好。石門國小 115 學年度實測:排課時間從 5-7 天 → 2 小時、衝堂錯誤 5-10 個 → 0、教務組長加班從 50+ 小時 → 3 小時、家裡老婆冷戰風險:零。配對 #49 教務處寶藏庫 整理教師資料 + #83 本土語分班配對系統 處理跨校巡迴本土語老師時段 + #2 行政業務協調系統。