TTTC6544 · L6 · Self-instructional moduleModul arahan kendiri
Escape the Local PeakLepasi Puncak Setempat
Advanced local search with Simulated Annealing (SA) and the Great Deluge (GD) algorithm. A four-hour, problem-based module you can follow alone or in class.Carian setempat lanjutan dengan Penyepuhlindapan Simulasi (SA) dan Algoritma Banjir Besar (GD). Modul berasaskan masalah selama empat jam yang boleh diikuti secara kendiri atau di dalam kelas.
How to use this moduleCara menggunakan modul ini
You are an adult learner with your own goals, so you choose the path. Every section opens with why it matters, gives you a real problem first, and ends with a self-check that tells you immediately whether you are ready to move on. Tick "section done" at the end of each section to track progress on this device.
Anda pelajar dewasa dengan matlamat sendiri, jadi anda memilih laluan. Setiap seksyen dimulakan dengan mengapa ia penting, memberi masalah sebenar dahulu, dan diakhiri dengan semakan kendiri yang memberitahu dengan segera sama ada anda bersedia untuk meneruskan. Tandakan "seksyen selesai" di akhir setiap seksyen untuk menjejak kemajuan pada peranti ini.
Core pathLaluan teras
§1, §2.1–2.6, §3.1–3.6, quizzes 1–3. For revision.§1, §2.1–2.6, §3.1–3.6, kuiz 1–3. Untuk ulang kaji.
Full pathLaluan penuh
Everything incl. three labs and the Final Challenge. The class plan below.Semua termasuk tiga makmal dan Cabaran Akhir. Pelan kelas di bawah.
Research pathLaluan penyelidikan
Add the Advanced variations, optional Python, and two papers from Further reading.Tambah variasi Mahir, Python pilihan, dan dua kertas daripada Bacaan lanjut.
Four-hour planPelan empat jam
| TimeMasa | Design-thinking stagePeringkat pemikiran reka bentuk | ActivityAktiviti | CLO | SlidesSlaid |
|---|---|---|---|---|
| 0:00–0:25 | Empathise · DefineEmpati · Takrif | PBL trigger, empathy map, problem definition, hill-climbing recap, Quiz 1Pencetus PBL, peta empati, takrifan masalah, ulang kaji pendakian bukit, Kuiz 1 | 1 | 1–8 |
| 0:25–1:25 | Ideate (A)Jana idea (A) | SA history and concepts, calculator, flowchart, cooling plotter, hand trace, Checkpoint A (12 min), Lab 1Sejarah dan konsep SA, kalkulator, carta alir, pemplot penyejukan, surih tangan, Titik Semak A (12 min), Makmal 1 | 1, 2 | 9–22 |
| 1:25–1:35 | BreakRehat | |||
| 1:35–2:35 | Ideate (B)Jana idea (B) | GD history and concepts, flows side by side, dual trace, Checkpoint B (12 min), Lab 2 (Klang Valley routes)Sejarah dan konsep GD, aliran bersebelahan, surih dwi, Titik Semak B (12 min), Makmal 2 (laluan Lembah Klang) | 1, 2 | 23–35 |
| 2:35–3:25 | Prototype · TestPrototaip · Uji | Lab 3 (exam timetable), Lab 4 Emulation Arena, comparison deck (15 min), tools, safety and ethicsMakmal 3 (jadual peperiksaan), Makmal 4 Arena Emulasi, dek perbandingan (15 min), alat, keselamatan dan etika | 2, 3, 4 | 36–45 |
| 3:25–4:00 | ReflectRenung | Group challenge (30 min, Arena-based), 3-2-1 exit ticket. Final Challenge (12 questions) after classCabaran kumpulan (30 min, berasaskan Arena), tiket keluar 3-2-1. Cabaran Akhir (12 soalan) selepas kelas | 1–4 | 46–48 |
Amanah (integrity): report every run honestly. Adil (fairness): the objective function decides who carries the cost. Privasi (privacy): protect personal data when you use AI tools. Ihsan (care): design for the student who sits three papers in a day. Look for the green boxes.
Amanah: laporkan setiap larian dengan jujur. Adil: fungsi objektif menentukan siapa menanggung kos. Privasi: lindungi data peribadi apabila menggunakan alat AI. Ihsan: reka bentuk untuk pelajar yang menduduki tiga kertas sehari. Cari kotak hijau.
Box legendPetunjuk kotak
Orange = task · Gold = fact · Blue = latest research · Green = values & ethics · Red = common mistakeJingga = tugasan · Emas = fakta · Biru = penyelidikan terkini · Hijau = nilai & etika · Merah = kesilapan lazim
You needAnda perlukan
A browser. Optional: Google Sheets or Excel, your institution's approved AI assistant, Google Colab.Pelayar web. Pilihan: Google Sheets atau Excel, pembantu AI yang diluluskan institusi, Google Colab.
Prior knowledgePengetahuan sedia ada
State space and hill climbing (L2–L5). No programming is required.Ruang keadaan dan pendakian bukit (L2–L5). Tiada pengaturcaraan diperlukan.
§1 · Empathise & DefineEmpati & Takrif · 25 min · CLO1
The problem comes firstMasalah didahulukan
A faculty must schedule 40 exam papers for about 1,200 students into 12 slots over four days (illustrative scenario). Last semester, a group of international students complained that they sat three papers in one day while others had a free week. The exam unit asks your team: "Can a computer build a timetable that is clash-free and fairer, and can we trust it?"
Sebuah fakulti perlu menjadualkan 40 kertas peperiksaan untuk kira-kira 1,200 pelajar ke dalam 12 slot selama empat hari (senario ilustrasi). Semester lalu, sekumpulan pelajar antarabangsa mengadu bahawa mereka menduduki tiga kertas dalam sehari manakala yang lain mendapat seminggu tanpa peperiksaan. Unit peperiksaan bertanya kepada pasukan anda: "Bolehkah komputer membina jadual yang bebas pertindihan dan lebih adil, dan bolehkah kita mempercayainya?"
Your deliverable by the end: a recommendation (SA or GD), parameter settings, evidence from at least five seeds, and a one-paragraph fairness and data-protection statement.
Hasil anda di akhir sesi: cadangan (SA atau GD), tetapan parameter, bukti daripada sekurang-kurangnya lima benih, dan satu perenggan kenyataan keadilan dan perlindungan data.
1.1 Empathy map (5 min)Peta empati (5 min)
For each stakeholder, write one line for says, thinks, feels, does. Then convert each pain into a constraint. Expected result: at least two hard constraints and three soft constraints.
Bagi setiap pihak berkepentingan, tulis satu baris untuk kata, fikir, rasa, buat. Kemudian tukarkan setiap kesakitan kepada kekangan. Hasil dijangka: sekurang-kurangnya dua kekangan keras dan tiga kekangan lembut.
| StakeholderPihak berkepentingan | Example painContoh kesakitan | BecomesMenjadi |
|---|---|---|
| StudentPelajar | "Two of my papers are at the same time.""Dua kertas saya pada masa yang sama." | Hard: no student clashKeras: tiada pertindihan pelajar |
| StudentPelajar | "I have exams morning and noon, no time to rest.""Saya ada peperiksaan pagi dan tengah hari, tiada masa berehat." | Soft: back-to-back penaltyLembut: penalti berturutan |
| LecturerPensyarah | "Large papers late in the week leave no marking time.""Kertas besar lewat minggu tiada masa memeriksa." | Soft: front-load large papersLembut: dahulukan kertas besar |
| Exam unitUnit peperiksaan | "The hall seats 400.""Dewan memuatkan 400 orang." | Hard: room capacityKeras: kapasiti bilik |
1.2 Define: three ingredients of local searchTakrif: tiga ramuan carian setempat
RepresentationPerwakilan
A vector s where s[i] is the slot of exam i. For routing, a permutation of towns.Vektor s dengan s[i] ialah slot bagi kertas i. Bagi penghalaan, pilih atur bandar.
Neighbourhood N(s)Kejiranan N(s)
Move one exam to another slot, or swap two exams. For routing, reverse a segment (2-opt).Alih satu kertas ke slot lain, atau tukar dua kertas. Bagi penghalaan, terbalikkan satu segmen (2-opt).
Objective f(s)Objektif f(s)
Penalty to minimise: 1000 × clashes + w_b × back-to-back + w_d × same-day.Penalti untuk diminimumkan: 1000 × pertindihan + w_b × berturutan + w_d × hari sama.
1.3 Why hill climbing is not enoughMengapa pendakian bukit tidak mencukupi
Hill climbing accepts a neighbour only if it is at least as good. It stops at a local optimum: a solution with no better neighbour, although a better solution exists elsewhere (the global optimum). The landscape image helps: the height is solution quality, and the neighbourhood decides which points are "next to" each other. Change the neighbourhood and you change the landscape.
Pendakian bukit menerima jiran hanya jika ia sekurang-kurangnya sama baik. Ia berhenti pada optimum setempat: penyelesaian tanpa jiran yang lebih baik, walaupun penyelesaian lebih baik wujud di tempat lain (optimum sejagat). Imej landskap membantu: ketinggian ialah kualiti penyelesaian, dan kejiranan menentukan titik mana yang "bersebelahan". Tukar kejiranan dan anda menukar landskap.
Three classic escape strategies exist. This module covers the first one; L7 covers the second.
Tiga strategi klasik untuk melepasi wujud. Modul ini merangkumi yang pertama; L7 merangkumi yang kedua.
Accept worse movesTerima langkah lebih buruk
SA (by probability), GD (by a level), TA, RRT, LAHC.SA (kebarangkalian), GD (paras), TA, RRT, LAHC.
Use memoryGuna ingatan
Tabu Search forbids recent moves (L7).Carian Tabu melarang langkah terkini (L7).
Restart or change neighbourhoodMula semula atau tukar kejiranan
Iterated local search, variable neighbourhood search.Carian setempat berlelar, carian kejiranan berubah.
Large language models are now used to write local-search heuristics: FunSearch evolves programs scored by an evaluator Romera-Paredes et al. 2024, Evolution of Heuristics and ReEvo evolve heuristics for routing and scheduling Liu et al. 2024 Ye et al. 2024, and LLaMEA generates whole metaheuristics van Stein & Bäck 2025. The three ingredients above are exactly what these systems need you to specify.
Model bahasa besar kini digunakan untuk menulis heuristik carian setempat: FunSearch mengevolusi program yang diberi skor oleh penilai Romera-Paredes et al. 2024, Evolution of Heuristics dan ReEvo mengevolusi heuristik untuk penghalaan dan penjadualan Liu et al. 2024 Ye et al. 2024, dan LLaMEA menjana metaheuristik lengkap van Stein & Bäck 2025. Tiga ramuan di atas tepat yang perlu anda tentukan untuk sistem ini.
§2 · Ideate AJana idea A · 60 min · CLO1, CLO2
Simulated AnnealingPenyepuhlindapan Simulasi
Heat, then cool slowly. Accept a worse move with a probability that shrinks as the search cools.Panaskan, kemudian sejukkan perlahan. Terima langkah lebih buruk dengan kebarangkalian yang mengecil apabila carian menyejuk.
2.1 Where the idea comes fromAsal usul idea
Metallurgists anneal metal by heating it until atoms move freely and then cooling it slowly, so the atoms settle into a low-energy crystal. Cooling too fast (quenching) freezes defects in place. In 1953 Metropolis and colleagues proposed a rule to simulate such systems on a computer Metropolis et al. 1953. Thirty years later, Kirkpatrick, Gelatt and Vecchi Kirkpatrick et al. 1983, and independently Černý Černý 1985, turned the rule into a general optimiser and applied it to chip placement and the travelling salesman problem.
Ahli metalurgi menyepuhlindap logam dengan memanaskannya sehingga atom bergerak bebas, kemudian menyejukkannya perlahan-lahan supaya atom mendap ke hablur bertenaga rendah. Penyejukan terlalu cepat (lindap kejut) memerangkap kecacatan. Pada 1953, Metropolis dan rakan-rakan mencadangkan peraturan untuk menyimulasikan sistem sebegini pada komputer Metropolis et al. 1953. Tiga puluh tahun kemudian, Kirkpatrick, Gelatt dan Vecchi Kirkpatrick et al. 1983, dan secara berasingan Černý Černý 1985, menjadikan peraturan itu pengoptimum umum dan menggunakannya untuk penempatan cip dan masalah jurujual kembara.
| Physical annealingPenyepuhlindapan fizikal | OptimisationPengoptimuman |
|---|---|
| State of the atomsKeadaan atom | Candidate solution sPenyelesaian calon s |
| EnergyTenaga | Cost f(s)Kos f(s) |
| TemperatureSuhu | Control parameter T (willingness to accept worse)Parameter kawalan T (kesanggupan menerima lebih buruk) |
| Ground state (perfect crystal)Keadaan dasar (hablur sempurna) | Global optimumOptimum sejagat |
| QuenchingLindap kejut | Hill climbing (T = 0)Pendakian bukit (T = 0) |
Milestones: 1953 → 2026Tonggak: 1953 → 2026
2.2 The Metropolis acceptance rulePeraturan penerimaan Metropolis
For minimisation, let Δ = f(s′) − f(s). If Δ ≤ 0 the neighbour is no worse, so accept it. If Δ > 0, accept it with probability:
Bagi peminimuman, biar Δ = f(s′) − f(s). Jika Δ ≤ 0 jiran tidak lebih buruk, maka terima. Jika Δ > 0, terima dengan kebarangkalian:
Read the formula as two dials. A larger worsening Δ lowers P. A higher temperature T raises P. For maximisation use Δ = f(s) − f(s′) so that Δ is still positive for a worse move.
Baca formula sebagai dua tombol. Kemerosotan Δ yang lebih besar merendahkan P. Suhu T yang lebih tinggi menaikkan P. Bagi pemaksimuman gunakan Δ = f(s) − f(s′) supaya Δ masih positif bagi langkah lebih buruk.
Acceptance calculatorKalkulator penerimaan
interactiveinteraktifFaint curves show T = 5, 20, 80 for comparison. Expected: Δ=5, T=10, r=0.40 gives P=0.6065 and ACCEPT.Lengkung pudar menunjukkan T = 5, 20, 80 sebagai perbandingan. Dijangka: Δ=5, T=10, r=0.40 memberi P=0.6065 dan TERIMA.
2.3 Intuition in four cellsIntuisi dalam empat sel
| Δ = 1 | Δ = 10 | |
|---|---|---|
| T = 10 | 0.905 | 0.368 |
| T = 1 | 0.368 | 0.0000454 |
Early in the run (hot) SA explores, accepting most moves. Late in the run (cold) it exploits and behaves like hill climbing. The cooling schedule moves it smoothly from one to the other.
Awal larian (panas) SA meneroka dan menerima kebanyakan langkah. Akhir larian (sejuk) ia mengeksploit dan berkelakuan seperti pendakian bukit. Jadual penyejukan menggerakkannya dengan lancar dari satu ke yang lain.
2.4 The process flow, then line by lineAliran proses, kemudian baris demi baris
How to read itCara membacanya
- Every iteration enters at "Pick a random neighbour".
- Setiap lelaran bermula di "Pilih jiran rawak".
- An improvement goes straight to Accept (green).
- Penambahbaikan terus ke Terima (hijau).
- A worse move meets the orange gate: a coin weighted by e^(−Δ/T).
- Langkah buruk berdepan pintu jingga: syiling berpemberat e^(−Δ/T).
- Whatever happens, the temperature cools before the next loop.
- Apa pun berlaku, suhu menyejuk sebelum gelung seterusnya.
- Delete the orange boxes and you are left with hill climbing.
- Buang kotak jingga dan yang tinggal ialah pendakian bukit.
Now the same logic as pseudocode. Hover or tab through the explanations to highlight the lines.
Kini logik yang sama sebagai pseudokod. Halakan tetikus atau tab melalui penerangan untuk menyerlahkan baris.
s ← initial solution; best ← s
T ← T0
while T > Tmin and budget remains:
repeat L times:
s' ← random neighbour of s
Δ ← f(s') − f(s)
if Δ ≤ 0 or random() < exp(−Δ / T):
s ← s'
if f(s) < f(best): best ← s
T ← α · T
return best
- 1Start anywhere: random, or a quick greedy solution. Store the best-so-far separately, because SA may wander away from it.Mula di mana-mana: rawak atau penyelesaian tamak pantas. Simpan terbaik setakat ini secara berasingan kerana SA mungkin merayau jauh daripadanya.
- 2Initial temperature: high enough that most worse moves are accepted at first (see §2.6).Suhu awal: cukup tinggi supaya kebanyakan langkah buruk diterima pada awal (lihat §2.6).
- 3Outer loop: stop when frozen (T below Tmin) or the evaluation budget runs out.Gelung luar: henti apabila beku (T bawah Tmin) atau bajet penilaian habis.
- 4Inner loop: L moves at the same temperature, letting the search settle (an "equilibrium").Gelung dalam: L langkah pada suhu sama, membiarkan carian stabil ("keseimbangan").
- 5–6Pick one random neighbour and measure how much worse it is.Pilih satu jiran rawak dan ukur seberapa buruk ia.
- 7–8The Metropolis rule: always accept improvements; accept worsening with probability e^(−Δ/T).Peraturan Metropolis: sentiasa terima penambahbaikan; terima kemerosotan dengan kebarangkalian e^(−Δ/T).
- 9Update the record.Kemas kini rekod.
- 10Geometric cooling, α typically 0.80–0.99.Penyejukan geometri, α lazimnya 0.80–0.99.
- 11Return the best seen, not the final state.Pulangkan yang terbaik pernah dilihat, bukan keadaan akhir.
2.5 Cooling schedulesJadual penyejukan
| ScheduleJadual | UpdateKemas kini | NotesCatatan |
|---|---|---|
| GeometricGeometri | T ← αT | Most used; simple and robust Kirkpatrick et al. 1983.Paling lazim; mudah dan teguh Kirkpatrick et al. 1983. |
| Linear | T ← T − β | Spends equal time at every temperature; can stop too abruptly.Masa sama pada setiap suhu; boleh berhenti terlalu mendadak. |
| LogarithmicLogaritma | T_k = c / ln(1 + k) | Guarantees convergence to the global optimum for large enough c Geman & Geman 1984 Hajek 1988, but is far too slow in practice.Menjamin penumpuan kepada optimum sejagat bagi c cukup besar Geman & Geman 1984 Hajek 1988, tetapi terlalu perlahan secara praktik. |
| Lundy–Mees | T ← T / (1 + βT) | One move per temperature; cools fast when hot, slowly when cold Lundy & Mees 1986.Satu langkah setiap suhu; sejuk cepat ketika panas, perlahan ketika sejuk Lundy & Mees 1986. |
Cooling plotterPemplot penyejukan
interactiveinteraktifP(accept Δ) halfway through:P(terima Δ) pada separuh jalan:
All four schedules start at T₀. Geometric, linear and Lundy–Mees are tuned to reach T_min at step N; the log schedule (c = T₀·ln 2) never gets close. That is why it is a theorem, not a tool.Keempat-empat jadual bermula pada T₀. Geometri, linear dan Lundy–Mees ditala untuk mencapai T_min pada langkah N; jadual log (c = T₀·ln 2) tidak pernah menghampiri. Sebab itu ia teorem, bukan alat.
2.6 Choosing the parametersMemilih parameter
Initial temperature T₀Suhu awal T₀
Sample ~100 random moves, compute the mean worsening Δ̄, and choose an initial acceptance ratio χ₀ (≈0.8). Then T₀ = −Δ̄ / ln χ₀.Sampel ~100 langkah rawak, kira purata kemerosotan Δ̄, dan pilih nisbah penerimaan awal χ₀ (≈0.8). Maka T₀ = −Δ̄ / ln χ₀.
Cooling rate αKadar penyejukan α
0.80–0.99. Closer to 1 is slower and usually better, at the cost of time. Or derive it from the budget: α = (T_min/T₀)^(1/levels).0.80–0.99. Lebih hampir 1 lebih perlahan dan biasanya lebih baik, dengan kos masa. Atau terbitkan daripada bajet: α = (T_min/T₀)^(1/aras).
Moves per temperature LLangkah setiap suhu L
Often proportional to the neighbourhood size (e.g. number of exams × slots).Selalunya berkadar dengan saiz kejiranan (cth. bilangan kertas × slot).
Stopping and reheatingHenti dan panaskan semula
Stop at T_min, at the budget, or after many levels with no improvement. Reheating (raise T when stuck) is a common practical add-on.Henti pada T_min, pada bajet, atau selepas banyak aras tanpa peningkatan. Pemanasan semula (naikkan T apabila tersekat) tambahan praktikal yang lazim.
- Using a T₀ unrelated to the cost scale. T must be in the same units as Δ: a T₀ of 10 is "hot" for costs near 50 and "frozen" for costs near 50,000.
- Menggunakan T₀ yang tidak berkaitan dengan skala kos. T mesti dalam unit yang sama dengan Δ: T₀ = 10 "panas" bagi kos sekitar 50 tetapi "beku" bagi kos sekitar 50,000.
- Returning the final solution instead of the best-so-far.
- Memulangkan penyelesaian akhir dan bukan yang terbaik setakat ini.
- Comparing SA with another method on different budgets. Compare on equal numbers of evaluations.
- Membandingkan SA dengan kaedah lain pada bajet berbeza. Bandingkan pada bilangan penilaian yang sama.
2.7 Worked examples at three levelsContoh berpandu pada tiga tahap
Scenario (minimise): f(s₀) = 50, T₀ = 10, α = 0.9 (cool after every move). Candidate costs and random draws r are given. Predict each decision, then press Next step.
Senario (minimum): f(s₀) = 50, T₀ = 10, α = 0.9 (sejuk selepas setiap langkah). Kos calon dan nombor rawak r diberi. Ramalkan setiap keputusan, kemudian tekan Langkah seterusnya.
| k | T | f(s) | f(s′) | Δ | P | r | DecisionKeputusan |
|---|---|---|---|---|---|---|---|
| 1 | 10.000 | 50 | 46 | −4 | 1 | — | accept (better)terima (lebih baik) |
| 2 | 9.000 | 46 | 49 | 3 | 0.7165 | 0.52 | accept (r < P)terima (r < P) |
| 3 | 8.100 | 49 | 57 | 8 | 0.3724 | 0.61 | rejecttolak |
| 4 | 7.290 | 49 | 44 | −5 | 1 | — | accept (better)terima (lebih baik) |
| 5 | 6.561 | 44 | 47 | 3 | 0.6330 | 0.70 | rejecttolak |
| 6 | 5.905 | 44 | 41 | −3 | 1 | — | accept · best = 41terima · terbaik = 41 |
Notice: step 2 and step 5 have the same Δ = 3, but P fell from 0.72 to 0.63 because the system cooled. Step 2 accepted a worse move, yet the run still ended better (41).
Perhatikan: langkah 2 dan 5 mempunyai Δ = 3 yang sama, tetapi P turun dari 0.72 ke 0.63 kerana sistem menyejuk. Langkah 2 menerima langkah lebih buruk, namun larian tetap berakhir lebih baik (41).
Scenario: 100 random moves in your timetable worsen the cost by Δ̄ = 20 on average. You want 80% of worse moves accepted at the start, and you will stop at T_min = 0.1 with α = 0.95 and L = 100 moves per level.
Senario: 100 langkah rawak dalam jadual anda memburukkan kos dengan purata Δ̄ = 20. Anda mahu 80% langkah buruk diterima pada awal, dan akan berhenti pada T_min = 0.1 dengan α = 0.95 dan L = 100 langkah setiap aras.
Variation: your budget is only 5,000 evaluations. Keep L = 100, so you have 50 levels: α = (0.1/89.63)^(1/50) = 0.873. Faster cooling, more risk of freezing early. Alternative: lower L to 38 and keep α = 0.95. Which would you choose for a timetable with many plateaus, and why?
Variasi: bajet anda hanya 5,000 penilaian. Kekalkan L = 100, maka anda ada 50 aras: α = (0.1/89.63)^(1/50) = 0.873. Penyejukan lebih cepat, lebih berisiko beku awal. Alternatif: turunkan L kepada 38 dan kekalkan α = 0.95. Yang mana anda pilih untuk jadual dengan banyak dataran, dan mengapa?
Claim to critique: "Logarithmic cooling is guaranteed to find the global optimum, so we should always use it." With T₀ = 89.63 and c = T₀ ln 2 = 62.1, how many iterations does T_k = c / ln(1 + k) need to reach T = 1?
Dakwaan untuk dikritik: "Penyejukan logaritma dijamin menemui optimum sejagat, jadi kita patut sentiasa menggunakannya." Dengan T₀ = 89.63 dan c = T₀ ln 2 = 62.1, berapa lelaran diperlukan oleh T_k = c / ln(1 + k) untuk mencapai T = 1?
At a billion evaluations per second that is about 30 billion years. The guarantee is asymptotic: real SA trades the guarantee for speed, which is why it is a heuristic. A strong answer also mentions that the theorem assumes infinite time at each level and says nothing about finite budgets Hajek 1988.
Pada satu bilion penilaian sesaat, itu kira-kira 30 bilion tahun. Jaminan itu asimptotik: SA sebenar menukar jaminan dengan kelajuan, sebab itu ia heuristik. Jawapan yang kuat juga menyebut bahawa teorem itu menganggap masa tak terhingga pada setiap aras dan tidak menyatakan apa-apa tentang bajet terhad Hajek 1988.
2.8 Variations and the research frontierVariasi dan barisan hadapan penyelidikan
Parallel temperingPembajaan selari
Run copies at several temperatures and swap them; hot copies explore, cold ones refine Swendsen & Wang 1986 Earl & Deem 2005.Jalankan beberapa salinan pada suhu berbeza dan tukar; salinan panas meneroka, sejuk memperhalus Swendsen & Wang 1986 Earl & Deem 2005.
Generalised SASA teritlak
Heavy-tailed visiting distribution for continuous problems Tsallis & Stariolo 1996 Xiang et al. 1997; this is what SciPy's dual_annealing implements.Taburan lawatan berekor berat untuk masalah selanjar Tsallis & Stariolo 1996 Xiang et al. 1997; inilah yang dilaksanakan dual_annealing dalam SciPy.
Component-based SASA berasaskan komponen
Treat T₀, schedule, acceptance and neighbourhood as tunable parts and configure them automatically Franzin & Stützle 2019.Anggap T₀, jadual, penerimaan dan kejiranan sebagai komponen boleh tala dan konfigurasikan secara automatik Franzin & Stützle 2019.
Learned proposalsCadangan dipelajari
Neural SA learns which neighbour to propose using reinforcement learning (Pembelajaran Pengukuhan) Correia et al. 2023; RL-based SA extends it Qiu & Liang 2025.Neural SA mempelajari jiran yang patut dicadangkan menggunakan Pembelajaran Pengukuhan Correia et al. 2023; SA berasaskan RL melanjutkannya Qiu & Liang 2025.
- Quantum annealing replaces thermal jumps with quantum tunnelling Kadowaki & Nishimori 1998. D-Wave processors have simulated spin-glass dynamics with 5,000 qubits King et al. 2023 and claimed beyond-classical simulation King et al. 2025; a 2025 study reported a scaling advantage for approximate optimisation Munoz-Bauza & Lidar 2025.
- Penyepuhlindapan kuantum menggantikan lompatan terma dengan penerowongan kuantum Kadowaki & Nishimori 1998. Pemproses D-Wave telah menyimulasikan dinamik kaca spin dengan 5,000 qubit King et al. 2023 dan mendakwa simulasi melangkaui klasik King et al. 2025; kajian 2025 melaporkan kelebihan penskalaan bagi pengoptimuman anggaran Munoz-Bauza & Lidar 2025.
- Digital and physics-inspired machines: Fujitsu's Digital Annealer Aramon et al. 2019, Toshiba's simulated bifurcation Goto et al. 2019, and probabilistic-bit (p-bit) Ising machines Borders et al. 2019 Nikhar et al. 2024.
- Mesin digital dan berinspirasi fizik: Digital Annealer Fujitsu Aramon et al. 2019, bifurkasi simulasi Toshiba Goto et al. 2019, dan mesin Ising bit kebarangkalian (p-bit) Borders et al. 2019 Nikhar et al. 2024.
- A classic still wins: in a 2023 assessment of macro placement for chips, a well-tuned SA matched or beat a reinforcement-learning placer on several metrics Cheng et al. 2023. New methods must beat a properly tuned SA baseline.
- Kaedah klasik masih menang: dalam penilaian 2023 bagi penempatan makro cip, SA yang ditala dengan baik menyamai atau mengatasi penempat pembelajaran pengukuhan pada beberapa metrik Cheng et al. 2023. Kaedah baharu mesti mengatasi garis dasar SA yang ditala dengan betul.
The "temperature" setting in an AI chatbot uses the same Boltzmann form: token probabilities are proportional to e^(score/T). Low T gives predictable text; high T gives varied text. Annealing and LLM sampling share one equation.
Tetapan "suhu" dalam chatbot AI menggunakan bentuk Boltzmann yang sama: kebarangkalian token berkadar dengan e^(skor/T). T rendah memberi teks boleh dijangka; T tinggi memberi teks pelbagai. Penyepuhlindapan dan pensampelan LLM berkongsi satu persamaan.
§2.9 · Lab 1Makmal 1 · 20 min · CLO2
Landscape LabMakmal Landskap
This lab maximises a one-dimensional landscape, so you can see every move. Two algorithms run side by side from the same start (x₀ on the far left) with the same number of steps. For GD the shaded area is the water; for SA watch the count of worse moves accepted.
Makmal ini memaksimumkan landskap satu dimensi supaya anda dapat melihat setiap langkah. Dua algoritma berjalan seiring dari titik mula yang sama (x₀ di sebelah kiri) dengan bilangan langkah yang sama. Bagi GD kawasan berlorek ialah air; bagi SA perhatikan bilangan langkah buruk yang diterima.
Landscape LabMakmal Landskap
- Basic. Load HC vs SA. Run seeds 1, 2, 3. Expected: HC stops on the left hill (≈0.59) every time; SA reaches the right hill (≈1.04) in almost every seed.
- Asas. Muat HC lwn SA. Jalankan benih 1, 2, 3. Dijangka: HC berhenti di bukit kiri (≈0.59) setiap kali; SA mencapai bukit kanan (≈1.04) dalam hampir setiap benih.
- Intermediate. On Medium, set SA T₀ = 0.01 (quench). What happens, and which algorithm does it now resemble? Then set T₀ = 0.6 with α = 0.999 and watch the trace: the current value is still jumping around at the end. Why is keeping the best-so-far record essential here, and what does that say about stopping too hot?
- Pertengahan. Pada Sederhana, tetapkan SA T₀ = 0.01 (lindap kejut). Apa yang berlaku, dan algoritma mana yang kini menyerupainya? Kemudian tetapkan T₀ = 0.6 dengan α = 0.999 dan perhatikan surih: nilai semasa masih melompat-lompat di akhir. Mengapa rekod terbaik setakat ini penting di sini, dan apa maknanya tentang berhenti ketika masih panas?
- Advanced. Load deceptive. The global peak is a narrow spike at x ≈ 0.9. The preset reaches it in only some seeds. Find a setting of σ, T₀, α and N that reaches it in at least 4 of 5 seeds. Explain the role of the neighbourhood size σ, not just the temperature.
- Mahir. Muat memperdaya. Puncak sejagat ialah pancang sempit pada x ≈ 0.9. Pratetap mencapainya dalam sebahagian benih sahaja. Cari tetapan σ, T₀, α dan N yang mencapainya dalam sekurang-kurangnya 4 daripada 5 benih. Terangkan peranan saiz kejiranan σ, bukan sahaja suhu.
§3 · Ideate BJana idea B · 60 min · CLO1, CLO2
The Great DelugeAlgoritma Banjir Besar
Let the water rise and keep your feet dry. Accept any move that stays on the right side of a moving level.Biar air naik dan kaki tetap kering. Terima sebarang langkah yang kekal di sebelah betul paras yang bergerak.
3.1 The metaphorMetafora
Gunter Dueck described a hiker caught in endless rain Dueck 1993. The hiker wants the highest point but walks somewhat randomly, accepting any step that keeps their feet above the water. The water rises at a constant rate, so low ground disappears and the walker is pushed onto higher ground. Earlier, Dueck and Scheuer had shown that a simple deterministic threshold could match or beat SA Dueck & Scheuer 1990; the deluge makes that threshold move.
Gunter Dueck menggambarkan seorang pendaki yang terperangkap dalam hujan tanpa henti Dueck 1993. Pendaki mahukan titik tertinggi tetapi berjalan secara agak rawak, menerima sebarang langkah yang mengekalkan kakinya di atas air. Air naik pada kadar tetap, jadi tanah rendah hilang dan pejalan ditolak ke tanah lebih tinggi. Sebelumnya, Dueck dan Scheuer menunjukkan bahawa ambang berketentuan yang mudah boleh menyamai atau mengatasi SA Dueck & Scheuer 1990; banjir besar menjadikan ambang itu bergerak.
| Maximise (Dueck's picture)Maksimum (gambaran Dueck) | Minimise (timetabling, routing)Minimum (penjadualan, penghalaan) | |
|---|---|---|
| LevelParas | Water level W, risesParas air W, naik | Ceiling B, fallsSiling B, turun |
| Accept s′ ifTerima s′ jika | f(s′) ≥ f(s) or f(s′) ≥ W | f(s′) ≤ f(s) or f(s′) ≤ B |
| UpdateKemas kini | W ← W + UP | B ← B − ΔB |
The "or not worse than current" part comes from the practical version by Burke, Bykov, Newall and Petrovic for exam timetabling Burke et al. 2004. Dueck's original accepts based on the level only.
Bahagian "atau tidak lebih buruk daripada semasa" datang daripada versi praktikal oleh Burke, Bykov, Newall dan Petrovic untuk penjadualan peperiksaan Burke et al. 2004. Versi asal Dueck menerima berdasarkan paras sahaja.
Milestones: 1990 → 2026Tonggak: 1990 → 2026
3.2 The process flow, then line by lineAliran proses, kemudian baris demi baris
What changed from SAApa yang berubah daripada SA
- Start: set a level B and its decay ΔB instead of a temperature.
- Mula: tetapkan paras B dan susutannya ΔB, bukan suhu.
- Gate: "is it under the level?" No coin, no randomness.
- Pintu: "adakah di bawah paras?" Tiada syiling, tiada rawak.
- Update: lower the level by a fixed step every iteration.
- Kemas kini: turunkan paras dengan langkah tetap setiap lelaran.
s ← initial solution; best ← s
B ← f(s) # level starts at the initial cost
ΔB ← (f(s) − f*) / N # N = budget, f* = target
for k = 1 .. N:
s' ← random neighbour of s
if f(s') ≤ f(s) or f(s') ≤ B:
s ← s'
if f(s) < f(best): best ← s
B ← B − ΔB
return best
- 1Same start as SA.Permulaan sama seperti SA.
- 2The level starts at the initial cost (you may start higher to allow more early exploration).Paras bermula pada kos awal (boleh bermula lebih tinggi untuk lebih penerokaan awal).
- 3The only real design decision: how far to lower the level per step. Decided by the time budget and a target you would be happy with.Satu-satunya keputusan reka bentuk sebenar: seberapa banyak paras diturunkan setiap langkah. Ditentukan oleh bajet masa dan sasaran yang memuaskan.
- 4–5Exactly N evaluations: the run time is known in advance.Tepat N penilaian: masa larian diketahui lebih awal.
- 6–8Deterministic decision, no random number. Worse moves pass if they stay under the level.Keputusan berketentuan, tiada nombor rawak. Langkah buruk lulus jika kekal di bawah paras.
- 9Linear decay. Variants make it curved or let it rise again (§3.5).Susutan linear. Varian menjadikannya melengkung atau membenarkannya naik semula (§3.5).
3.3 Setting the decay rateMenetapkan kadar susutan
Two questions replace temperature tuning: How long can you run? (N) and What result would you accept? (f*). Burke and colleagues called this a time-predefined search: the user trades time for quality explicitly Burke et al. 2004.
Dua soalan menggantikan penalaan suhu: Berapa lama boleh dijalankan? (N) dan Keputusan apa yang boleh diterima? (f*). Burke dan rakan-rakan menamakannya carian masa pratakrif: pengguna menukar masa dengan kualiti secara jelas Burke et al. 2004.
- Too optimistic (f* below what is reachable): the level falls below the current cost early, after which only improvements pass. GD turns into hill climbing for the rest of the run.
- Terlalu optimis (f* di bawah yang boleh dicapai): paras jatuh di bawah kos semasa lebih awal, selepas itu hanya penambahbaikan lulus. GD menjadi pendakian bukit untuk baki larian.
- Too pessimistic (f* far above the optimum): the level stays loose, the search keeps wandering, and it finishes near f*, not near the optimum.
- Terlalu pesimis (f* jauh di atas optimum): paras kekal longgar, carian terus merayau, dan berakhir hampir f*, bukan hampir optimum.
3.4 Worked examples at three levelsContoh berpandu pada tiga tahap
Scenario (minimise): f₀ = 120, f* = 80, N = 20, so ΔB = 2. Predict each decision. Watch step 5: a worse move is accepted with no random number at all.
Senario (minimum): f₀ = 120, f* = 80, N = 20, maka ΔB = 2. Ramalkan setiap keputusan. Perhatikan langkah 5: langkah lebih buruk diterima tanpa sebarang nombor rawak.
| k | B | f(s) | f(s′) | f(s′) ≤ f(s)? | f(s′) ≤ B? | DecisionKeputusan |
|---|---|---|---|---|---|---|
| 1 | 120 | 120 | 125 | ✕ | ✕ | rejecttolak |
| 2 | 118 | 120 | 117 | ✓ | ✓ | acceptterima |
| 3 | 116 | 117 | 119 | ✕ | ✕ | rejecttolak |
| 4 | 114 | 117 | 105 | ✓ | ✓ | acceptterima |
| 5 | 112 | 105 | 110 | ✕ | ✓ | accept (worse, under B)terima (lebih buruk, bawah B) |
| 6 | 110 | 110 | 111 | ✕ | ✕ | rejecttolak |
| 7 | 108 | 110 | 104 | ✓ | ✓ | acceptterima |
| 8 | 106 | 104 | 107 | ✕ | ✕ | rejecttolak |
Notice: at step 8 the candidate 107 is only 3 worse than the current 104, but it is above the level (106), so it is rejected. Compare SA, where the same Δ = 3 could pass by chance.
Perhatikan: pada langkah 8 calon 107 hanya 3 lebih buruk daripada semasa 104, tetapi ia di atas paras (106), maka ditolak. Bandingkan SA, di mana Δ = 3 yang sama boleh lulus secara kebetulan.
Scenario: f₀ = 120, N = 1,000. Suppose the true optimum is 80 but you set an over-optimistic f* = 60.
Senario: f₀ = 120, N = 1,000. Katakan optimum sebenar ialah 80 tetapi anda menetapkan f* = 60 yang terlalu optimis.
Variation: rerun the numbers for f* = 100 (pessimistic). Where does the level finish, and what does that tell you about the final solution? Answer: it finishes at 100, so solutions up to 100 are still accepted at the end; the result can drift back up towards 100.
Variasi: kira semula untuk f* = 100 (pesimis). Di mana paras berakhir, dan apa maknanya bagi penyelesaian akhir? Jawapan: ia berakhir pada 100, jadi penyelesaian sehingga 100 masih diterima di akhir; keputusan boleh hanyut naik ke arah 100.
Practical tip: run a short hill climb first; take its result minus 5–10% as f*.
Petua praktikal: jalankan pendakian bukit ringkas dahulu; ambil keputusannya tolak 5–10% sebagai f*.
Non-linear decay. Landa-Silva and Obit replaced the straight line with a decay that depends on the current level, so the level drops quickly while far from good solutions and slowly near them, and they added a mechanism that lets the level rise again when the search stalls Landa-Silva & Obit 2008. Their update has the form:
Susutan tak linear. Landa-Silva dan Obit menggantikan garis lurus dengan susutan yang bergantung pada paras semasa, supaya paras turun cepat ketika jauh daripada penyelesaian baik dan perlahan apabila hampir, dan mereka menambah mekanisme yang membenarkan paras naik semula apabila carian terbantut Landa-Silva & Obit 2008. Kemas kini mereka berbentuk:
Critique task: (a) Why does a multiplicative decay suit costs that span several orders of magnitude, such as a timetable with 1000-point hard penalties? (b) What does β prevent? (c) The method now has more parameters than linear GD. Did we lose GD's main advantage? Write three sentences.
Tugasan kritik: (a) Mengapa susutan berdarab sesuai untuk kos yang merentasi beberapa magnitud, seperti jadual dengan penalti keras 1000 mata? (b) Apa yang dihalang oleh β? (c) Kaedah ini kini mempunyai lebih banyak parameter berbanding GD linear. Adakah kita kehilangan kelebihan utama GD? Tulis tiga ayat.
3.5 The threshold familyKeluarga ambang
| MethodKaedah | Accept worse s′ if (minimise)Terima s′ lebih buruk jika (minimum) | Key parameterParameter utama | SourceSumber |
|---|---|---|---|
| Threshold Accepting (TA) | f(s′) − f(s) < θ | θ schedulejadual θ | Dueck & Scheuer 1990 |
| Great Deluge (GD) | f(s′) ≤ B | N, f* | Dueck 1993 Burke et al. 2004 |
| Record-to-Record Travel (RRT) | f(s′) ≤ f(best) + D | deviation Dsisihan D | Dueck 1993 |
| Extended GD (reheating)GD Lanjutan (panas semula) | as GD; level rises when stuckseperti GD; paras naik apabila tersekat | stall lengthtempoh terbantut | McMullan 2007 |
| Non-linear GDGD Tak Linear | f(s′) ≤ B, B curved | δ, β | Landa-Silva & Obit 2008 |
| Late Acceptance HC (LAHC) | f(s′) ≤ f(s from L steps ago) | history length Lpanjang sejarah L | Burke & Bykov 2017 |
Try TA, RRT and LAHC in the Landscape Lab: choose them as Algorithm A or B.
Cuba TA, RRT dan LAHC dalam Makmal Landskap: pilih sebagai Algoritma A atau B.
3.6 SA and GD side by sideSA dan GD bersebelahan
| SA | GD | |
|---|---|---|
| Accept worse whenTerima lebih buruk apabila | r < e^(−Δ/T)r < e^(−Δ/T) | f(s′) under the levelf(s′) di bawah paras |
| Randomness in the decisionUnsur rawak dalam keputusan | YesYa | No (only in choosing s′)Tidak (hanya dalam memilih s′) |
| ParametersParameter | T₀, α, L, T_min | N, f* (optionally B₀pilihan B₀) |
| Depends on cost scale?Bergantung pada skala kos? | Yes, T in cost unitsYa, T dalam unit kos | Only through f*, which is intuitiveHanya melalui f*, yang intuitif |
| Run time known?Masa larian diketahui? | IndirectlySecara tidak langsung | Exactly NTepat N |
| TheoryTeori | Convergence results exist Hajek 1988Keputusan penumpuan wujud Hajek 1988 | Mostly empiricalKebanyakannya empirikal |
Neither dominates. The No Free Lunch theorems say that averaged over all problems, no search algorithm beats another Wolpert & Macready 1997. What matters is the fit to your problem, and that is decided by testing (§4).
Tiada yang mendominasi. Teorem Tiada Makan Tengah Hari Percuma menyatakan bahawa dipuratakan ke atas semua masalah, tiada algoritma carian yang mengatasi yang lain Wolpert & Macready 1997. Yang penting ialah kesesuaian dengan masalah anda, dan itu ditentukan melalui pengujian (§4).
3.7 Close to home: timetabling researchDekat dengan kita: penyelidikan penjadualan
Timetabling is where deluge-style methods earned their reputation. The 2007 International Timetabling Competition set shared benchmarks McCollum et al. 2010, and Müller's winning solver combined constructive search with hill climbing, great deluge and simulated annealing Müller 2009. At FTSM UKM, researchers have used GD and SA for course and examination timetabling, for example GD with a Kempe-chain neighbourhood Shaker & Abdullah 2009, dual-sequence SA Abdullah et al. 2010, and a hybrid that integrates GD with other mechanisms for exam timetabling Turabieh & Abdullah 2011.
Penjadualan ialah bidang di mana kaedah gaya banjir membina reputasinya. Pertandingan Penjadualan Antarabangsa 2007 menetapkan penanda aras bersama McCollum et al. 2010, dan pemenang oleh Müller menggabungkan carian konstruktif dengan pendakian bukit, banjir besar dan penyepuhlindapan simulasi Müller 2009. Di FTSM UKM, penyelidik telah menggunakan GD dan SA untuk penjadualan kursus dan peperiksaan, contohnya GD dengan kejiranan rantai Kempe Shaker & Abdullah 2009, SA jujukan dwi Abdullah et al. 2010, dan hibrid yang mengintegrasikan GD dengan mekanisme lain untuk penjadualan peperiksaan Turabieh & Abdullah 2011.
- An adaptive-learning modified GD inside a hyper-heuristic reduced penalties on the ITC 2021 sports-timetabling benchmark more than standard GD or hill climbing Hutama & Muklason 2024. This links directly to L11 (hyper-heuristics).
- GD terubah suai pembelajaran adaptif dalam hiper-heuristik mengurangkan penalti pada penanda aras penjadualan sukan ITC 2021 lebih daripada GD standard atau pendakian bukit Hutama & Muklason 2024. Ini berkait terus dengan L11 (hiper-heuristik).
- A GD-based metaheuristic combined with integer nonlinear programming solved large dynamic machine-layout instances that exact solvers alone could not Baykasoğlu et al. 2026.
- Metaheuristik berasaskan GD yang digabungkan dengan pengaturcaraan integer tak linear menyelesaikan kejadian susun atur mesin dinamik yang besar yang tidak dapat diselesaikan oleh penyelesai tepat sahaja Baykasoğlu et al. 2026.
§3.8 · Side by sideBersebelahan · 15 min · CLO1
Two flows, one skeletonDua aliran, satu rangka
SA and GD share most of their process. They differ in exactly three boxes: how they start, how they judge a worse move, and what they update after each move.SA dan GD berkongsi kebanyakan proses. Ia berbeza tepat pada tiga kotak: cara bermula, cara menilai langkah buruk, dan apa yang dikemas kini selepas setiap langkah.
| BoxKotak | Simulated Annealing | Great Deluge | Why it mattersMengapa penting |
|---|---|---|---|
| StartMula | T ← T₀ | B ← f(s), ΔB ← (f(s) − f*)/N | SA needs a temperature in cost units; GD needs a deadline and a target.SA perlukan suhu dalam unit kos; GD perlukan tarikh akhir dan sasaran. |
| Gate for a worse movePintu bagi langkah buruk | r < e^(−Δ/T) | f(s′) ≤ B | SA may accept a big worsening by luck; GD accepts any worsening that stays under the level, never one above it.SA mungkin menerima kemerosotan besar secara nasib; GD menerima sebarang kemerosotan yang kekal di bawah paras, tidak pernah yang di atasnya. |
| UpdateKemas kini | T ← αT | B ← B − ΔB | Both tighten over time: SA multiplicatively, GD linearly (by default).Kedua-duanya mengetat mengikut masa: SA secara berdarab, GD secara linear (lalai). |
3.8.1 Dual trace: same offers, two gatekeepersSurih dwi: tawaran sama, dua penjaga pintu
Both algorithms start at cost 120 and receive the same eight candidate costs. Step through one iteration at a time: the gold path shows the route each one takes through its flowchart. Gold columns in the strip mark iterations where they make different decisions. (In a real run the neighbours would differ once the two paths diverge; here we feed both the same costs so the gates can be compared directly.)
Kedua-dua algoritma bermula pada kos 120 dan menerima lapan kos calon yang sama. Langkah satu lelaran pada satu masa: laluan emas menunjukkan laluan setiap algoritma melalui carta alirnya. Lajur emas dalam jalur menandakan lelaran di mana keputusan berbeza. (Dalam larian sebenar jiran akan berbeza sebaik laluan berpisah; di sini kedua-duanya diberi kos yang sama supaya pintu dapat dibandingkan secara langsung.)
Dual traceSurih dwi
SA
GD
- Base. Predict each decision before you press Next. Where do they split, and why? Expected: k = 1 and k = 8 (SA gambles, GD refuses); at k = 5 both accept a worse move.
- Asas. Ramalkan setiap keputusan sebelum menekan Seterusnya. Di mana mereka berpisah, dan mengapa? Dijangka: k = 1 dan k = 8 (SA berjudi, GD menolak); pada k = 5 kedua-duanya menerima langkah buruk.
- Cold SA. With T₀ = 2, how many worse moves does SA accept now? Which algorithm does it resemble?
- SA sejuk. Dengan T₀ = 2, berapa langkah buruk diterima SA sekarang? Algoritma mana yang ia serupai?
- Fast-falling level. With ΔB = 5, from which iteration is GD's gate effectively closed? Link your answer to §3.3 (target too optimistic).
- Paras turun pantas. Dengan ΔB = 5, mulai lelaran mana pintu GD sebenarnya tertutup? Kaitkan jawapan dengan §3.3 (sasaran terlalu optimis).
§3.9 · Lab 2Makmal 2 · 25 min · CLO2, CLO3
Route Lab: Klang ValleyMakmal Laluan: Lembah Klang
A mobile health-screening van leaves UKM Bangi (gold dot) and must visit 20 towns once and return: a travelling salesman problem. Distances are straight-line kilometres from approximate town coordinates. HC, SA and GD start from the same random tour, use the same 2-opt neighbourhood, and get the same number of evaluations.
Sebuah van saringan kesihatan bergerak bertolak dari UKM Bangi (titik emas) dan mesti melawat 20 bandar sekali dan kembali: masalah jurujual kembara. Jarak ialah kilometer garis lurus daripada koordinat anggaran bandar. HC, SA dan GD bermula dari lawatan rawak yang sama, menggunakan kejiranan 2-opt yang sama, dan mendapat bilangan penilaian yang sama.
Route LabMakmal Laluan
2-opt| SeedBenih | HC | SA | GD |
|---|---|---|---|
| Press "Run seeds 1–5 now" to fill this table with best tour lengths (km).Tekan "Jalankan benih 1–5 sekarang" untuk mengisi jadual ini dengan panjang lawatan terbaik (km). | |||
- Basic. Run the default once and watch the GD tour while its dashed level line falls. When does GD stop accepting worse tours? Then press Run seeds 1–5 and compare means.
- Asas. Jalankan tetapan lalai sekali dan perhatikan lawatan GD semasa garis paras putus-putus turun. Bilakah GD berhenti menerima lawatan lebih buruk? Kemudian tekan Jalankan benih 1–5 dan bandingkan purata.
- Intermediate. Set GD f* to 15% (too optimistic) and to 70% (too pessimistic). Explain both results using §3.3.
- Pertengahan. Tetapkan GD f* kepada 15% (terlalu optimis) dan 70% (terlalu pesimis). Terangkan kedua-dua keputusan menggunakan §3.3.
- Advanced. Switch to Random · 80. Halve N. Which method degrades most gracefully, and why might that matter for a dispatcher who must re-plan routes every 10 minutes?
- Mahir. Tukar kepada Rawak · 80. Kurangkan N separuh. Kaedah mana yang merosot paling beransur, dan mengapa itu penting bagi penghantar yang perlu merancang semula laluan setiap 10 minit?
§4 · Prototype & TestPrototaip & Uji · 25 min · CLO2, CLO3
Exam Timetable LabMakmal Jadual Peperiksaan
Back to the PBL problem, scaled down so you can see it: 12 papers, 8 slots (4 days × morning and afternoon) and 7 student groups. The data are invented for teaching. Cost = Σ over groups of (group size × penalty per student) + fairness weight × 100 × (penalty of the worst-off group). Penalty per student = 1000 × clashes + w_b × back-to-back pairs (two papers on the same day).
Kembali kepada masalah PBL, dikecilkan supaya anda dapat melihatnya: 12 kertas, 8 slot (4 hari × pagi dan petang) dan 7 kumpulan pelajar. Data direka untuk pengajaran. Kos = Σ bagi kumpulan (saiz kumpulan × penalti setiap pelajar) + pemberat keadilan × 100 × (penalti kumpulan paling terjejas). Penalti setiap pelajar = 1000 × pertindihan + w_b × pasangan berturutan (dua kertas pada hari yang sama).
Exam Timetable LabMakmal Jadual Peperiksaan
PBL| GroupKumpulan | StudentsPelajar | PapersKertas | ClashesTindih | Back-to-backBerturutan | Penalty / studentPenalti / pelajar |
|---|
- Feasibility. With the defaults, does each algorithm remove all clashes? Try seeds 1–5 for HC, SA and GD. Record "students with a clash" and the best cost. You will find GD lagging here (best ≈ 670–940 against 240 for SA). Use §3.4 Level 3 to explain why: the cost starts near 100,000 because of the 1000-point clash penalty, so a straight-line level spends most of the budget far above the interesting region.
- Kebolehlaksanaan. Dengan tetapan lalai, adakah setiap algoritma menghapuskan semua pertindihan? Cuba benih 1–5 bagi HC, SA dan GD. Rekod "pelajar bertindih" dan kos terbaik. Anda akan dapati GD ketinggalan di sini (terbaik ≈ 670–940 berbanding 240 bagi SA). Gunakan §3.4 Tahap 3 untuk menerangkan sebabnya: kos bermula hampir 100,000 kerana penalti pertindihan 1000 mata, jadi paras garis lurus menghabiskan kebanyakan bajet jauh di atas kawasan yang penting.
- Who pays? Look at group G7 (12 international students). With fairness weight 0, compare their penalty with every other group. Try seeds 1–5. Why does a sum weighted by headcount treat a small group this way?
- Siapa membayar? Lihat kumpulan G7 (12 pelajar antarabangsa). Dengan pemberat keadilan 0, bandingkan penalti mereka dengan setiap kumpulan lain. Cuba benih 1–5. Mengapa jumlah yang diberatkan mengikut bilangan pelajar melayan kumpulan kecil sebegini?
- Make it fairer. Raise the fairness weight to 10. The objective now also penalises the worst-off group. What happens to G7, which groups now share the burden, and how many more student back-to-back pairs does the faculty accept in total?
- Jadikan lebih adil. Naikkan pemberat keadilan kepada 10. Objektif kini turut menghukum kumpulan paling terjejas. Apa yang berlaku kepada G7, kumpulan mana yang kini berkongsi beban, dan berapa banyak lagi pasangan berturutan pelajar yang diterima fakulti secara keseluruhan?
Test honestly: a protocolUji dengan jujur: satu protokol
- Same budget. Compare on number of evaluations (or the same wall-clock time on the same machine).
- Bajet sama. Bandingkan pada bilangan penilaian (atau masa jam dinding yang sama pada mesin yang sama).
- Same starts, many seeds. At least 5 seeds in class, 30 for a paper.
- Permulaan sama, banyak benih. Sekurang-kurangnya 5 benih di kelas, 30 untuk kertas penyelidikan.
- Report the distribution. Mean ± standard deviation, best, worst; a box plot if you can.
- Laporkan taburan. Purata ± sisihan piawai, terbaik, terburuk; plot kotak jika boleh.
- Test significance. For research, use a non-parametric test such as Wilcoxon signed-rank on paired runs.
- Uji kesignifikanan. Untuk penyelidikan, gunakan ujian bukan parametrik seperti Wilcoxon pangkat bertanda pada larian berpasangan.
- Tune fairly. Give every method the same tuning effort; a tuned SA against a default GD is not a fair comparison Johnson et al. 1989.
- Tala secara adil. Beri setiap kaedah usaha penalaan yang sama; SA yang ditala lawan GD lalai bukan perbandingan adil Johnson et al. 1989.
Picking your best run and calling it "the result" misleads the reader. State the number of runs, the seeds, the budget and the parameter search you did. A reader should be able to reproduce your table.
Memilih larian terbaik dan menamakannya "keputusan" mengelirukan pembaca. Nyatakan bilangan larian, benih, bajet dan carian parameter yang dilakukan. Pembaca sepatutnya dapat menghasilkan semula jadual anda.
§4.1 · Lab 4 · Emulation ArenaMakmal 4 · Arena Emulasi · 20 min · CLO1, CLO3, CLO4
Three problems, two gatekeepersTiga masalah, dua penjaga pintu
Run hill climbing, SA and GD on the same three problems, with the same budget and the same starting solutions, over many seeds. Watch how fast each one converges, how often it accepts worse moves, and where it fails. The diagnosis panel names each weakness and offers a fix you can try with one click.Jalankan pendakian bukit, SA dan GD pada tiga masalah yang sama, dengan bajet dan penyelesaian permulaan yang sama, atas banyak benih. Perhatikan kelajuan penumpuan, kekerapan menerima langkah buruk, dan di mana ia gagal. Panel diagnosis menamakan setiap kelemahan dan menawarkan pembaikan yang boleh dicuba dengan satu klik.
1 · Delivery route1 · Laluan penghantaran
Permutation problem, smooth costs. Best known tour 234.45 km.Masalah pilih atur, kos licin. Lawatan terbaik diketahui 234.45 km.
2 · Exam timetable2 · Jadual peperiksaan
The PBL scale (40 papers, 12 slots, ~1,300 students in 30 generated cohorts). Costs span three orders of magnitude. Best known 620.Skala PBL (40 kertas, 12 slot, ~1,300 pelajar dalam 30 kohort dijana). Kos merentasi tiga magnitud. Terbaik diketahui 620.
3 · Continuous tuning3 · Penalaan selanjar
Six real-valued knobs on the Rastrigin function: thousands of local minima, global minimum 0.Enam tombol nilai nyata pada fungsi Rastrigin: beribu minimum setempat, minimum sejagat 0.
Emulation ArenaArena Emulasi
HC · SA · GDConvergence: median best-so-far (band = min–max over seeds)Penumpuan: median terbaik setakat ini (jalur = min–maks atas benih)
Share of worse moves accepted (per 2% of budget)Peratus langkah buruk diterima (setiap 2% bajet)
| AlgorithmAlgoritma | Mean ± sdPurata ± sp | BestTerbaik | WorstTerburuk | Worse moves acceptedLangkah buruk diterima |
|---|
SA diagnosisDiagnosis SA
GD diagnosisDiagnosis GD
- Basic · Route, out of the box. Expected means: HC ≈ 243, SA ≈ 236, GD ≈ 242 km. Which curve drops fastest in the first 10% of the budget, and which finishes lowest?
- Asas · Laluan, tetapan asal. Purata dijangka: HC ≈ 243, SA ≈ 236, GD ≈ 242 km. Lengkung mana yang turun paling cepat dalam 10% pertama bajet, dan yang mana berakhir paling rendah?
- Basic · Break SA. Press Overheat SA on the route: SA ends near 330 km, worse than hill climbing, and its acceptance curve never falls. Then press Quench SA: SA ≈ 243, the same as HC. Explain both with the acceptance chart.
- Asas · Rosakkan SA. Tekan SA terlampau panas pada laluan: SA berakhir hampir 330 km, lebih buruk daripada pendakian bukit, dan lengkung penerimaannya tidak pernah turun. Kemudian tekan Lindap kejut SA: SA ≈ 243, sama seperti HC. Terangkan kedua-duanya dengan carta penerimaan.
- Intermediate · Exam timetable, out of the box. Both metaheuristics lose to plain hill climbing (HC ≈ 1,500; SA ≈ 3,300; GD ≈ 5,900). Read the diagnosis: SA's automatic T₀ is fooled by the 1000-point clash penalty, and linear GD wastes its budget far above good solutions. Apply the suggested fixes one at a time. With Apply both fixes, SA ≈ 1,100 and GD ≈ 2,000.
- Pertengahan · Jadual peperiksaan, tetapan asal. Kedua-dua metaheuristik kalah kepada pendakian bukit biasa (HC ≈ 1,500; SA ≈ 3,300; GD ≈ 5,900). Baca diagnosis: T₀ automatik SA tertipu oleh penalti pertindihan 1000 mata, dan GD linear membazir bajet jauh di atas penyelesaian baik. Gunakan pembaikan yang dicadangkan satu demi satu. Dengan Guna kedua-dua pembaikan, SA ≈ 1,100 dan GD ≈ 2,000.
- Intermediate · Tiny budget. With N = 2,000 on the route, SA ≈ 249, GD ≈ 249 and HC ≈ 243. Why do both metaheuristics lose when the budget is too small to cool or lower the level properly?
- Pertengahan · Bajet kecil. Dengan N = 2,000 pada laluan, SA ≈ 249, GD ≈ 249 dan HC ≈ 243. Mengapa kedua-dua metaheuristik kalah apabila bajet terlalu kecil untuk menyejuk atau menurunkan paras dengan betul?
- Advanced · Continuous tuning. Out of the box SA ≈ 11 and GD ≈ 15; with fixes SA ≈ 8. Compare Drown GD and Lazy GD here and on the route. Surprisingly, a lazier target helps GD on this problem (≈ 13). Propose an explanation based on how rugged the landscape is.
- Mahir · Penalaan selanjar. Tetapan asal SA ≈ 11 dan GD ≈ 15; dengan pembaikan SA ≈ 8. Bandingkan Tenggelamkan GD dan GD malas di sini dan pada laluan. Mengejutkan, sasaran yang lebih malas membantu GD pada masalah ini (≈ 13). Cadangkan penjelasan berdasarkan kekasaran landskap.
Strengths, weaknesses and potentialKekuatan, kelemahan dan potensi
| Simulated Annealing | Great Deluge | |
|---|---|---|
| Strengths seen in the arenaKekuatan dalam arena | Best final quality on all three problems once tuned; reheating made it reliable on the route (234.5 km in every seed).Kualiti akhir terbaik pada ketiga-tiga masalah selepas ditala; pemanasan semula menjadikannya boleh dipercayai pada laluan (234.5 km pada setiap benih). | Least sensitive to bad settings: its worst setting is far less damaging than SA's worst. With non-linear decay it reaches a good-enough solution sooner.Paling kurang sensitif terhadap tetapan buruk: tetapan terburuknya jauh kurang merosakkan berbanding SA. Dengan susutan tak linear ia mencapai penyelesaian cukup baik lebih awal. |
| Weaknesses seenKelemahan dilihat | Temperature lives in cost units: too hot wanders, too cold freezes; wide cost scales fool automatic calibration.Suhu dalam unit kos: terlalu panas merayau, terlalu sejuk membeku; skala kos yang luas memperdaya penentukuran automatik. | Needs a sensible target; drowns when too optimistic; linear decay wastes budget when costs span orders of magnitude.Perlukan sasaran munasabah; tenggelam apabila terlalu optimis; susutan linear membazir bajet apabila kos merentasi beberapa magnitud. |
| Potential (try in the arena)Potensi (cuba dalam arena) | Reheating; calibrating T near good solutions; adaptive or learned schedules Correia et al. 2023 Qiu & Liang 2025; parallel tempering Earl & Deem 2005.Pemanasan semula; menentukur T hampir penyelesaian baik; jadual adaptif atau dipelajari Correia et al. 2023 Qiu & Liang 2025; pembajaan selari Earl & Deem 2005. | Non-linear decay Landa-Silva & Obit 2008; reheating the level McMullan 2007; GD inside hyper-heuristics Hutama & Muklason 2024; hybrids with exact solvers Baykasoğlu et al. 2026.Susutan tak linear Landa-Silva & Obit 2008; memanaskan semula paras McMullan 2007; GD dalam hiper-heuristik Hutama & Muklason 2024; hibrid dengan penyelesai tepat Baykasoğlu et al. 2026. |
The arena runs 10 seeds by default and shows the best, the worst and the spread, so no single lucky run decides the winner. Before claiming that one algorithm is better, check the paired-seed count under the table.
Arena menjalankan 10 benih secara lalai dan menunjukkan terbaik, terburuk dan sebaran, supaya tiada satu larian bertuah yang menentukan pemenang. Sebelum mendakwa satu algoritma lebih baik, semak kiraan benih berpasangan di bawah jadual.
§4.2 · Low-code toolkitKit alat kod rendah · 20 min · CLO3
Build it without programmingBina tanpa pengaturcaraan
Companion toolsAlat pendamping
| ToolAlat | Use it toGunakan untuk | Code?Kod? | Data noteNota data |
|---|---|---|---|
| Labs in this guideMakmal dalam panduan ini | See SA/GD behave, compare seedsLihat kelakuan SA/GD, banding benih | NoneTiada | Runs in your browser; nothing is sent anywhereBerjalan dalam pelayar anda; tiada apa dihantar |
| Google Sheets / Excel | SA in ten formulas (below)SA dalam sepuluh formula (di bawah) | FormulasFormula | Keep files in institutional storageSimpan fail dalam storan institusi |
| AI assistant (e.g. Gemini, ChatGPT, Claude, Copilot)Pembantu AI (cth. Gemini, ChatGPT, Claude, Copilot) | Explain, trace, critique, generate test casesTerang, surih, kritik, jana kes ujian | NoneTiada | Use your institution's approved account; never paste personal dataGuna akaun yang diluluskan institusi; jangan tampal data peribadi |
| NotebookLM | Read the papers in §7 with answers tied to sourcesBaca kertas dalam §7 dengan jawapan terikat kepada sumber | NoneTiada | Upload only papers you may shareMuat naik hanya kertas yang boleh dikongsi |
| HeuristicLab | Run SA on TSP/benchmarks through a GUIJalankan SA pada TSP/penanda aras melalui GUI | NoneTiada | Desktop app, local dataAplikasi desktop, data setempat |
| Timefold Solver | Production scheduling with GD, SA, LAHC acceptorsPenjadualan pengeluaran dengan penerima GD, SA, LAHC | Config + some codeKonfigurasi + sedikit kod | Self-hosted option keeps data in-housePilihan hos sendiri menyimpan data dalaman |
| Google OR-Tools | Vehicle routing with an SA local-search optionPenghalaan kenderaan dengan pilihan carian setempat SA | Some codeSedikit kod | Runs locallyBerjalan setempat |
| SciPy dual_annealing · Colab | Continuous problems, hyperparametersMasalah selanjar, hiperparameter | 5 lines5 baris | Colab stores files in your Google DriveColab menyimpan fail dalam Google Drive anda |
| D-Wave Leap | Try quantum and hybrid annealingCuba penyepuhlindapan kuantum dan hibrid | Some codeSedikit kod | Cloud service: use synthetic dataPerkhidmatan awan: guna data sintetik |
Copy-ready prompts at three levelsProm sedia salin pada tiga tahap
Each prompt has a role, a task, constraints, an output format and a self-check. The explanation under each prompt tells you what every line does, so you can adapt it. Prompts are in English because most assistants follow technical instructions most reliably in English; the last line asks for the answer in formal Bahasa Malaysia when you need it.
Setiap prom mempunyai peranan, tugasan, kekangan, format output dan semakan kendiri. Penerangan di bawah setiap prom memberitahu fungsi setiap baris supaya anda boleh mengubah suainya. Prom ditulis dalam bahasa Inggeris kerana kebanyakan pembantu mengikut arahan teknikal paling tepat dalam bahasa Inggeris; baris terakhir meminta jawapan dalam Bahasa Malaysia formal apabila diperlukan.
You are a patient tutor for postgraduate students in Artificial Intelligence. Explain Simulated Annealing and the Great Deluge algorithm. Use one everyday analogy for each, then state each acceptance rule as a formula. Keep it under 300 words and avoid code. End with three multiple-choice questions (with answers) that test the difference between the two. Write the answer in formal Bahasa Malaysia (no mixing with English), keeping symbols such as T, Δ and B.
- 1Role: sets the level and tone.Peranan: menetapkan tahap dan nada.
- 2Task: one clear request.Tugasan: satu permintaan jelas.
- 3Structure: analogy first (andragogy: connect to experience), then the formal rule.Struktur: analogi dahulu (andragogi: kaitkan dengan pengalaman), kemudian peraturan formal.
- 4Constraints: length and no code, for low-code learners.Kekangan: panjang dan tanpa kod, untuk pelajar kod rendah.
- 5Self-test built in.Ujian kendiri terbina.
- 6Language control. Delete this line for English output.Kawalan bahasa. Padam baris ini untuk output bahasa Inggeris.
Expected output (shape)Output dijangka (bentuk)
SA ≈ metal cooled slowly; P(terima) = e^(−Δ/T) … GD ≈ hujan dan paras air; terima jika f(s′) ≤ B, B ← B − ΔB … S1. Algoritma manakah tidak menggunakan nombor rawak dalam keputusan penerimaan? … Jawapan: GD
Check it: the SA formula must have a minus sign and Δ > 0 for worse moves; GD must not involve a random number in the decision. If either is wrong, tell the assistant and ask it to correct itself.
Semak: formula SA mesti ada tanda negatif dan Δ > 0 bagi langkah lebih buruk; GD tidak boleh melibatkan nombor rawak dalam keputusan. Jika salah, beritahu pembantu dan minta ia membetulkan.
Check my simulated annealing trace for a minimisation problem. Settings: T0 = 10, alpha = 0.9, cool after every move, accept worse if r < exp(-delta/T). Rows (k, f(s), f(s'), r): (1,50,46,-), (2,46,49,0.52), (3,49,57,0.61), (4,49,44,-), (5,44,47,0.70) For each row, show T, delta, P = exp(-delta/T) to 4 decimals, and accept or reject. Show the arithmetic so I can verify it. Do not skip rows. At the end, list any row where my expected decision (accept, accept, reject, accept, reject) disagrees with yours.
- 1Says what kind of problem; minimisation decides the sign of Δ.Menyatakan jenis masalah; peminimuman menentukan tanda Δ.
- 2All parameters given, so the assistant cannot invent its own.Semua parameter diberi, jadi pembantu tidak boleh mereka sendiri.
- 3Data from §2.7 Level 1.Data daripada §2.7 Tahap 1.
- 4–5Forces visible working; AI arithmetic can be wrong.Memaksa jalan kerja kelihatan; aritmetik AI boleh salah.
- 6Asks for disagreements, a quick way to spot errors on either side.Meminta percanggahan, cara pantas mengesan kesilapan di kedua-dua pihak.
Expected outputOutput dijangka
k=1 T=10.0000 Δ=−4 → accept (better) k=2 T=9.0000 Δ=3 P=0.7165 r=0.52 → accept k=3 T=8.1000 Δ=8 P=0.3724 r=0.61 → reject k=4 T=7.2900 Δ=−5 → accept (better) k=5 T=6.5610 Δ=3 P=0.6330 r=0.70 → reject No disagreements.
Verify the P values with the Acceptance Calculator in §2.2. Human checks AI.
Sahkan nilai P dengan Kalkulator Penerimaan dalam §2.2. Manusia menyemak AI.
Act as a reviewer for an operations-research journal. I am designing a great deluge search for a university exam timetable. Anonymised summary only: 40 papers, 12 slots, about 1,200 students in 7 cohorts (C1–C7), no names or IDs. Cost = 1000 x clashes + 10 x back-to-back + 3 x same-day, summed over students. Budget N = 200,000 evaluations; initial cost 54,000; target f* = 3,000. 1) Is the decay rate sensible? Show the value of delta-B. 2) Identify two risks in this objective for small cohorts, and propose one fairness term. 3) Propose a fair experiment to compare against simulated annealing. Mark anything you are unsure about as UNSURE, and do not invent citations.
- 1Critical role, invites disagreement rather than praise.Peranan kritikal, mengundang percanggahan dan bukan pujian.
- 3Data minimisation: counts and codes only (PDPA principle).Peminimuman data: bilangan dan kod sahaja (prinsip PDPA).
- 4–5Enough numbers to check the arithmetic: ΔB = (54,000 − 3,000)/200,000 = 0.255.Nombor yang cukup untuk menyemak aritmetik: ΔB = (54,000 − 3,000)/200,000 = 0.255.
- 6–8Three numbered questions give three checkable answers.Tiga soalan bernombor memberi tiga jawapan boleh disemak.
- 9Honesty guard against hallucinated references.Pengawal kejujuran terhadap rujukan halusinasi.
Expected output (shape)Output dijangka (bentuk)
1) ΔB = 0.255 per evaluation; sensible if 3,000 is reachable … 2) Risks: headcount weighting hides small cohorts; one 1000-point clash dominates … Fairness term: + w · max over cohorts of penalty per student … 3) Same N, same initial timetables, 30 seeds each, Wilcoxon signed-rank …
Compare its fairness suggestion with what you saw in the Exam Timetable Lab.
Bandingkan cadangan keadilannya dengan apa yang anda lihat dalam Makmal Jadual Peperiksaan.
Sources: Dueck (1993) and Burke et al. (2004). Build a comparison table: acceptance rule, parameters, how the level is initialised and updated, test problems, and main finding. Quote the sentence from each paper that defines the acceptance rule, with its location. List one limitation each paper admits, and one it does not mention.
- 1Name the uploaded sources so answers stay grounded.Namakan sumber yang dimuat naik supaya jawapan berasas.
- 2A table makes gaps visible.Jadual menjadikan jurang kelihatan.
- 3Quotes with locations let you verify against the PDF.Petikan dengan lokasi membolehkan semakan terhadap PDF.
- 4Pushes from summary to critique (CLO4).Mendorong daripada ringkasan kepada kritikan (HPK4).
Simulated Annealing in a spreadsheetPenyepuhlindapan Simulasi dalam hamparan
Maximise f(x) = x·sin(x) on [0, 10] starting from x = 2, which is a local peak (f ≈ 1.82). The global peak is at x ≈ 7.98 (f ≈ 7.92). Put the parameters in B1:B3, the headers in row 6, the formulas below in row 7 (start) and row 8, then fill row 8 down to row 506. Works in Google Sheets and Excel.
Maksimumkan f(x) = x·sin(x) pada [0, 10] bermula dari x = 2, iaitu puncak setempat (f ≈ 1.82). Puncak sejagat pada x ≈ 7.98 (f ≈ 7.92). Letak parameter dalam B1:B3, pengepala dalam baris 6, formula di bawah dalam baris 7 (permulaan) dan baris 8, kemudian isi baris 8 ke bawah hingga baris 506. Berfungsi dalam Google Sheets dan Excel.
B1: 10 (T0) B2: 0.99 (alpha) B3: 1 (step size) Row 6 headers: k | T | x | x_new | f(x) | f(x_new) | delta | P | r | accept | best A7: 0 B7: =$B$1 C7: 2 D7: =MIN(10,MAX(0,C7+NORM.INV(RAND(),0,$B$3))) E7: =C7*SIN(C7) F7: =D7*SIN(D7) G7: =E7-F7 H7: =IF(G7<=0,1,EXP(-G7/B7)) I7: =RAND() J7: =IF(I7
- 1–3Parameters in one place, so learners can change them without touching formulas.Parameter di satu tempat supaya pelajar boleh mengubahnya tanpa menyentuh formula.
- 5Start state: iteration 0, temperature T₀, x = 2 (the trap).Keadaan mula: lelaran 0, suhu T₀, x = 2 (perangkap).
- 6Neighbour: Gaussian step, clipped to [0, 10].Jiran: langkah Gauss, dipotong ke [0, 10].
- 7Objective values and Δ = f(x) − f(x_new): positive means worse (we maximise).Nilai objektif dan Δ = f(x) − f(x_new): positif bermaksud lebih buruk (kita memaksimumkan).
- 8Metropolis probability and the random draw.Kebarangkalian Metropolis dan nombor rawak.
- 9Accept flag and best-so-far.Bendera terima dan terbaik setakat ini.
- 10Next row: count up, cool geometrically, move only if accepted.Baris seterusnya: kira naik, sejukkan secara geometri, bergerak hanya jika diterima.
- 11Fill down 500 rows. Press F9 (Excel) or edit any cell (Sheets) to rerun.Isi ke bawah 500 baris. Tekan F9 (Excel) atau sunting mana-mana sel (Sheets) untuk jalankan semula.
Expected outputOutput dijangka
K506 (best f) ≈ 7.917 in roughly 3 of every 4 recalculations (our simulation of this exact sheet: 78% of 3,000 reruns). Change H7 to =IF(G7<=0,1,0) (hill climbing): best stays 1.820 almost every time (<1%). Raise B2 to 0.995 and fill to row 1006: success rises to about 95%.
Optional: Python (for those who want it)Pilihan: Python (bagi yang berminat)
import math, random
def f(x): # objective to MAXIMISE on [0, 10]
return x * math.sin(x)
def neighbour(x, step=1.0): # small random move, kept inside [0, 10]
return min(10, max(0, x + random.gauss(0, step)))
def hill_climb(x, iters=1000):
for _ in range(iters):
y = neighbour(x)
if f(y) >= f(x):
x = y
return x
def simulated_annealing(x, T0=10.0, alpha=0.995, iters=1000):
T, best = T0, x
for _ in range(iters):
y = neighbour(x)
delta = f(x) - f(y) # > 0 means y is worse
if delta <= 0 or random.random() < math.exp(-delta / T):
x = y
if f(x) > f(best):
best = x
T *= alpha # geometric cooling
return best
def great_deluge(x, level=-6.0, target=7.9, iters=1000):
rain = (target - level) / iters # how fast the water rises
best = x
for _ in range(iters):
y = neighbour(x)
if f(y) >= f(x) or f(y) >= level:
x = y
if f(x) > f(best):
best = x
level += rain
return best
random.seed(42)
for name, algo in [("HC", hill_climb), ("SA", simulated_annealing), ("GD", great_deluge)]:
wins = 0
for run in range(100):
xb = algo(2.0)
wins += f(xb) > 7.5
print(f"{name}: reached the global peak in {wins}/100 runs; last run x={xb:.3f}, f={f(xb):.3f}")
- 3–7The problem: objective and neighbourhood. Change these two to solve a different problem.Masalah: objektif dan kejiranan. Tukar dua ini untuk menyelesaikan masalah lain.
- 9–14Hill climbing: only "not worse" moves.Pendakian bukit: hanya langkah "tidak lebih buruk".
- 16–26SA: Metropolis rule (line 20), best-so-far, geometric cooling (line 25).SA: peraturan Metropolis (baris 20), terbaik setakat ini, penyejukan geometri (baris 25).
- 28–38GD for maximisation: water starts at −6 (below the deepest valley) and rises to the target. If it started at f(2) = 1.82 it could never cross the valley at x ≈ 4.9, where f ≈ −4.8. Try it.GD untuk pemaksimuman: air bermula pada −6 (di bawah lembah terdalam) dan naik ke sasaran. Jika bermula pada f(2) = 1.82 ia tidak dapat merentasi lembah pada x ≈ 4.9, di mana f ≈ −4.8. Cubalah.
- 40–46100 runs each from the trap at x = 2, with a fixed seed so your output matches ours.100 larian setiap satu dari perangkap x = 2, dengan benih tetap supaya output anda sepadan dengan kami.
Expected output (Python 3.x, seed 42)Output dijangka (Python 3.x, benih 42)
HC: reached the global peak in 1/100 runs; last run x=2.028, f=1.820 SA: reached the global peak in 93/100 runs; last run x=2.029, f=1.820 GD: reached the global peak in 91/100 runs; last run x=7.315, f=6.277
Note that the last SA and GD runs happen to be failures: this is why we report 100 runs, not one.
Perhatikan bahawa larian SA dan GD yang terakhir kebetulan gagal: sebab itu kita melaporkan 100 larian, bukan satu.
import numpy as np
from scipy.optimize import dual_annealing
def cost(v): # 2-D Rastrigin: many local minima, global minimum 0 at (0, 0)
return 20 + sum(x**2 - 10*np.cos(2*np.pi*x) for x in v)
result = dual_annealing(cost, bounds=[(-5.12, 5.12)] * 2, seed=42)
print("x* =", np.round(result.x, 4))
print("f(x*) =", round(result.fun, 6))
print("evaluations:", result.nfev)
- 1–2SciPy's generalised SA Xiang et al. 1997 with local refinement.SA teritlak SciPy Xiang et al. 1997 dengan pemurnian setempat.
- 4–5A classic test function with about 100 local minima in this box.Fungsi ujian klasik dengan kira-kira 100 minimum setempat dalam kotak ini.
- 7Bounds per variable; the seed makes it reproducible.Had bagi setiap pemboleh ubah; benih menjadikannya boleh dihasilkan semula.
Expected output (SciPy 1.18)Output dijangka (SciPy 1.18)
x* = [-0. -0.] f(x*) = 0.0 evaluations: 4133
The evaluation count can differ slightly between SciPy versions.
Bilangan penilaian mungkin sedikit berbeza antara versi SciPy.
§4.3 · Safety, ethics & data protectionKeselamatan, etika & perlindungan data · 15 min · CLO4
Optimise responsiblyOptimumkan secara bertanggungjawab
An optimiser does exactly what the objective says, at scale. Two kinds of risk follow: risk to people's data when we use tools, and risk to people's outcomes when we deploy the result.
Pengoptimum melakukan tepat apa yang dinyatakan objektif, pada skala besar. Dua jenis risiko menyusul: risiko kepada data individu apabila kita menggunakan alat, dan risiko kepada hasil yang diterima individu apabila kita menggunakan keputusan.
Malaysia · PDPA 2010, amended 2024Malaysia · Akta PDP 2010, dipinda 2024
Amendments came into force in phases during 2025: higher penalties, biometric data as sensitive data, mandatory breach notification (72 hours to the Commissioner), data protection officers and data portability PDPA amendment 2024.Pindaan berkuat kuasa secara berperingkat pada 2025: penalti lebih tinggi, data biometrik sebagai data sensitif, pemberitahuan pelanggaran wajib (72 jam kepada Pesuruhjaya), pegawai perlindungan data dan kebolehpindahan data PDPA amendment 2024.
Malaysia · AIGE 2024Malaysia · AIGE 2024
Seven principles: fairness; reliability, safety and control; privacy and security; inclusiveness; transparency; accountability; pursuit of human benefit and happiness MOSTI 2024.Tujuh prinsip: keadilan; kebolehpercayaan, keselamatan dan kawalan; privasi dan keselamatan; keterangkuman; ketelusan; akauntabiliti; mengejar manfaat dan kebahagiaan insan MOSTI 2024.
Malaysia · what is changingMalaysia · apa yang sedang berubah
The National AI Office (2024) became AI Malaysia Berhad in July 2026, and an AI governance bill is expected around late 2026 or early 2027 NAIO 2024 The Star 2026.Pejabat AI Nasional (2024) menjadi AI Malaysia Berhad pada Julai 2026, dan rang undang-undang tadbir urus AI dijangka sekitar akhir 2026 atau awal 2027 NAIO 2024 The Star 2026.
InternationalAntarabangsa
EU AI Act in force since August 2024, with obligations phasing in to 2027–2028 after the 2026 Digital Omnibus EU 2024/1689 EU 2026/1744; UNESCO Recommendation on the Ethics of AI (2021) UNESCO 2021.Akta AI EU berkuat kuasa sejak Ogos 2024, dengan kewajipan diperkenalkan berperingkat hingga 2027–2028 selepas Omnibus Digital 2026 EU 2024/1689 EU 2026/1744; Saranan UNESCO tentang Etika AI (2021) UNESCO 2021.
- Anonymise: replace names and matric numbers with codes; keep the key offline.
- Nyahnama: gantikan nama dan nombor matrik dengan kod; simpan kunci di luar talian.
- Minimise: share counts and structure, not records. The optimiser needs "who clashes with whom", not who the students are.
- Minimumkan: kongsi bilangan dan struktur, bukan rekod. Pengoptimum perlukan "siapa bertindih dengan siapa", bukan identiti pelajar.
- Use approved tools: your institution's enterprise AI account, not a personal free account, for anything work-related.
- Guna alat diluluskan: akaun AI perusahaan institusi anda, bukan akaun percuma peribadi, untuk apa-apa berkaitan kerja.
- Verify: run the numbers yourself (labs, spreadsheet) before trusting AI arithmetic or citations.
- Sahkan: kira sendiri (makmal, hamparan) sebelum mempercayai aritmetik atau petikan AI.
- Document weights: write down why each penalty weight was chosen and who agreed.
- Dokumen pemberat: catat mengapa setiap pemberat penalti dipilih dan siapa yang bersetuju.
- Human decides: a person reviews and signs off; give students a channel to appeal.
- Manusia memutuskan: seorang individu menyemak dan meluluskan; beri pelajar saluran rayuan.
Scenarios: what would you do?Senario: apa yang anda akan lakukan?
§5 · Applications & frontierAplikasi & barisan hadapan · 15 min · CLO1, CLO4
Choose by applicationPilih mengikut aplikasi
5.1 A decision treePokok keputusan
Rules of thumb, not laws. The test step (§4.1) decides.Panduan umum, bukan undang-undang. Langkah ujian (§4.1) yang menentukan.
5.2 Your problem: an interactive chooserMasalah anda: pemilih interaktif
Tick what is true for your problem (your research, a client's scheduling task, or the PBL timetable). The map shows which known applications sit closest to your answer.
Tandakan yang benar bagi masalah anda (penyelidikan anda, tugasan penjadualan klien, atau jadual PBL). Peta menunjukkan aplikasi yang paling hampir dengan jawapan anda.
Map positions are illustrative, based on the sources in the table below; they are not measurements.Kedudukan peta ialah ilustrasi berdasarkan sumber dalam jadual di bawah; bukan ukuran.
5.3 Where SA and GD work todayDi mana SA dan GD bekerja hari ini
| DomainDomain | What is optimisedApa yang dioptimumkan | Method & sourceKaedah & sumber |
|---|---|---|
| Chip design (VLSI)Reka bentuk cip (VLSI) | Cell placement, wire lengthPenempatan sel, panjang wayar | SA: TimberWolf Sechen & Sangiovanni-Vincentelli 1985; modern macro placementpenempatan makro moden Cheng et al. 2023 |
| University timetablingPenjadualan universiti | Exams and coursesPeperiksaan dan kursus | GD, SA Burke et al. 2004 Müller 2009 Turabieh & Abdullah 2011 |
| Sports schedulingPenjadualan sukan | Fixtures under many rulesPerlawanan di bawah banyak peraturan | GD within hyper-heuristicsGD dalam hiper-heuristik Hutama & Muklason 2024 |
| Manufacturing layoutSusun atur pembuatan | Machine positions over timeKedudukan mesin mengikut masa | GD + mathematical programmingGD + pengaturcaraan matematik Baykasoğlu et al. 2026 |
| Routing and logisticsPenghalaan dan logistik | Tour length, time windowsPanjang lawatan, tetingkap masa | SA option in OR-Tools; TSP sincePilihan SA dalam OR-Tools; TSP sejak Černý 1985 |
| Image analysisAnalisis imej | Restoring noisy imagesMemulihkan imej hingar | Geman & Geman 1984 |
| Physics, chemistry, ML tuningFizik, kimia, penalaan ML | Molecular energies, hyperparametersTenaga molekul, hiperparameter | Generalised SA in SciPySA teritlak dalam SciPy Xiang et al. 1997 |
| Quantum and Ising hardwarePerkakasan kuantum dan Ising | QUBO problemsMasalah QUBO | Kadowaki & Nishimori 1998 Aramon et al. 2019 Goto et al. 2019 King et al. 2025 |
- LLMs as optimisers: OPRO uses an LLM itself to propose better solutions from past attempts Yang et al. 2024.
- LLM sebagai pengoptimum: OPRO menggunakan LLM sendiri untuk mencadangkan penyelesaian lebih baik daripada percubaan lalu Yang et al. 2024.
- LLMs as heuristic designers: FunSearch Romera-Paredes et al. 2024, EoH Liu et al. 2024, ReEvo Ye et al. 2024, LLaMEA van Stein & Bäck 2025 and AlphaEvolve Novikov et al. 2025 generate and evolve code for heuristics, including acceptance rules and schedules.
- LLM sebagai pereka heuristik: FunSearch Romera-Paredes et al. 2024, EoH Liu et al. 2024, ReEvo Ye et al. 2024, LLaMEA van Stein & Bäck 2025 dan AlphaEvolve Novikov et al. 2025 menjana dan mengevolusi kod heuristik, termasuk peraturan penerimaan dan jadual.
- SA controlling LLMs: a 2026 preprint uses an SA loop to steer LLM-generated hardware code towards valid, efficient designs Ahir et al. 2026.
- SA mengawal LLM: pracetak 2026 menggunakan gelung SA untuk mengemudi kod perkakasan yang dijana LLM ke arah reka bentuk yang sah dan cekap Ahir et al. 2026.
Discuss (CLO4): if an LLM writes your acceptance rule, who is accountable when the resulting timetable is unfair?
Bincang (HPK4): jika LLM menulis peraturan penerimaan anda, siapa yang bertanggungjawab apabila jadual yang terhasil tidak adil?
§6 · Reflect & assessRenung & nilai · 25 min · CLO1–CLO4
Final ChallengeCabaran Akhir
Twelve questions mixing recall, calculation and judgement. Feedback appears immediately. Aim for 9/12 or better; if you score lower, the explanation tells you which section to revisit.
Dua belas soalan yang menggabungkan ingatan, pengiraan dan pertimbangan. Maklum balas muncul serta-merta. Sasarkan 9/12 atau lebih; jika skor lebih rendah, penerangan memberitahu seksyen yang perlu diulang kaji.
Exit ticket · 3-2-1Tiket keluar · 3-2-1
- 3 things you learned today.
- 3 perkara yang anda pelajari hari ini.
- 2 places in your work or research where SA or GD could help.
- 2 tempat dalam kerja atau penyelidikan anda di mana SA atau GD boleh membantu.
- 1 question that is still open for you.
- 1 soalan yang masih terbuka bagi anda.
PBL deliverable (group, due next week)Hasil PBL (berkumpulan, perlu dihantar minggu depan)
| CriterionKriteria | Excellent (4)Cemerlang (4) | Developing (2)Membangun (2) | CLO |
|---|---|---|---|
| Problem modelModel masalah | Representation, neighbourhood and objective justified from the empathy mapPerwakilan, kejiranan dan objektif diwajarkan daripada peta empati | Listed without justificationDisenaraikan tanpa justifikasi | 2, 3 |
| Method choicePilihan kaedah | SA or GD chosen with reasons tied to budget and cost scaleSA atau GD dipilih dengan alasan berkait bajet dan skala kos | Chosen without reasonsDipilih tanpa alasan | 1 |
| EvidenceBukti | ≥5 seeds, equal budgets, mean ± sd, honest reporting≥5 benih, bajet sama, purata ± sp, pelaporan jujur | Single run reportedSatu larian dilaporkan | 3 |
| Fairness & dataKeadilan & data | Who pays is analysed; PDPA/AIGE-aligned data handlingSiapa membayar dianalisis; pengendalian data selaras PDPA/AIGE | Mentioned onlyDisebut sahaja | 4 |
| Current researchPenyelidikan terkini | One 2023–2026 advance discussed critically with DOISatu kemajuan 2023–2026 dibincangkan secara kritis dengan DOI | Cited without discussionDipetik tanpa perbincangan | 4 |
§7 · Further reading & resourcesBacaan lanjut & sumber
Keep goingTeruskan
Start here (textbooks)Mula di sini (buku teks)
Delahaye et al. chapter on SA Delahaye et al. 2019; Burke & Kendall, Search Methodologies Burke & Kendall 2014; Talbi, Metaheuristics Talbi 2009; Russell & Norvig, AIMA 4th ed., Ch. 4 Russell & Norvig 2022.Bab SA oleh Delahaye et al. Delahaye et al. 2019; Burke & Kendall, Search Methodologies Burke & Kendall 2014; Talbi, Metaheuristics Talbi 2009; Russell & Norvig, AIMA edisi ke-4, Bab 4 Russell & Norvig 2022.
Two papers to read with NotebookLMDua kertas untuk dibaca dengan NotebookLM
Dueck 1993 (6 pages) Dueck 1993 and Burke et al. 2004 Burke et al. 2004. Then Kirkpatrick et al. 1983 Kirkpatrick et al. 1983.Dueck 1993 (6 halaman) Dueck 1993 dan Burke et al. 2004 Burke et al. 2004. Kemudian Kirkpatrick et al. 1983 Kirkpatrick et al. 1983.
Related topicsTopik berkaitan
Tabu Search (L7), Genetic Algorithm (L8), Hyper-heuristics (L11), Markov chain Monte Carlo, parallel tempering, Ising models and QUBO, LLM sampling temperature.Carian Tabu (L7), Algoritma Genetik (L8), Hiper-heuristik (L11), Monte Carlo rantai Markov, pembajaan selari, model Ising dan QUBO, suhu pensampelan LLM.
Benchmarks to practise onPenanda aras untuk berlatih
ITC 2007 timetabling McCollum et al. 2010; TSPLIB (search "TSPLIB95"); ITC 2021 sports timetabling.Penjadualan ITC 2007 McCollum et al. 2010; TSPLIB (cari "TSPLIB95"); penjadualan sukan ITC 2021.
Glossary · BM–ENGlosari · BM–EN
§8
ReferencesRujukan
DOIs were checked against Crossref/publisher records on 30 Oct 2026. Policy items link to official or law-firm summaries; confirm details with the official text before relying on them.DOI disemak terhadap rekod Crossref/penerbit pada 30 Okt 2026. Item dasar dipautkan kepada ringkasan rasmi atau firma guaman; sahkan butiran dengan teks rasmi sebelum bergantung padanya.
- Abdullah, S., Shaker, K., McCollum, B. & McMullan, P. (2010). Dual sequence simulated annealing with round-robin approach for university course timetabling. In EvoCOP 2010, LNCS, Springer, 1–10. https://doi.org/10.1007/978-3-642-12139-5_1
- Ahir, S., Bhat, P. & Doboli, A. (2026). HYPERHEURIST: A simulated annealing-based control framework for LLM-driven code generation in optimized hardware design. arXiv:2604.15642 (preprint). https://arxiv.org/abs/2604.15642
- Aramon, M., Rosenberg, G., Valiante, E., Miyazawa, T., Tamura, H. & Katzgraber, H. G. (2019). Physics-inspired optimization for quadratic unconstrained problems using a digital annealer. Frontiers in Physics, 7, 48. https://doi.org/10.3389/fphy.2019.00048
- Baykasoğlu, A., Subulan, K. & Hamzadayı, A. (2026). Great deluge-based metaheuristic incorporating integer nonlinear programming for modeling and solving dynamic capability-based machine layout problem. Computers & Operations Research, 185, 107302. https://doi.org/10.1016/j.cor.2025.107302
- Borders, W. A., Pervaiz, A. Z., Fukami, S., Camsari, K. Y., Ohno, H. & Datta, S. (2019). Integer factorization using stochastic magnetic tunnel junctions. Nature, 573, 390–393. https://doi.org/10.1038/s41586-019-1557-9
- Burke, E. K. & Bykov, Y. (2017). The late acceptance hill-climbing heuristic. European Journal of Operational Research, 258(1), 70–78. https://doi.org/10.1016/j.ejor.2016.07.012
- Burke, E. K. & Kendall, G. (Eds.) (2014). Search Methodologies: Introductory Tutorials in Optimization and Decision Support Techniques (2nd ed.). Springer. https://doi.org/10.1007/978-1-4614-6940-7
- Burke, E. K., Bykov, Y., Newall, J. & Petrovic, S. (2004). A time-predefined local search approach to exam timetabling problems. IIE Transactions, 36(6), 509–528. https://doi.org/10.1080/07408170490438410
- Chen, S. (2022, March). This Month in Physics History: March 1953 — the Metropolis Monte Carlo algorithm. APS News, American Physical Society. https://www.aps.org/apsnews/2022/03/rosenbluth-metropolis-monte-carlo-algorithm
- Cheng, C.-K., Kahng, A. B., Kundu, S., Wang, Y. & Wang, Z. (2023). Assessment of reinforcement learning for macro placement. Proc. ISPD '23, ACM, 158–166. https://doi.org/10.1145/3569052.3578926
- Correia, A. H. C., Worrall, D. E. & Bondesan, R. (2023). Neural simulated annealing. Proc. AISTATS 2023, PMLR 206, 4946–4962. https://proceedings.mlr.press/v206/correia23a.html
- Delahaye, D., Chaimatanan, S. & Mongeau, M. (2019). Simulated annealing: From basics to applications. In M. Gendreau & J.-Y. Potvin (Eds.), Handbook of Metaheuristics (3rd ed.), Springer, 1–35. https://doi.org/10.1007/978-3-319-91086-4_1
- Dueck, G. & Scheuer, T. (1990). Threshold accepting: A general purpose optimization algorithm appearing superior to simulated annealing. Journal of Computational Physics, 90(1), 161–175. https://doi.org/10.1016/0021-9991(90)90201-B
- Dueck, G. (1993). New optimization heuristics: The great deluge algorithm and the record-to-record travel. Journal of Computational Physics, 104(1), 86–92. https://doi.org/10.1006/jcph.1993.1010
- Dueck, G. (2004). Das Sintflutprinzip: Ein Mathematik-Roman. Springer. https://openlibrary.org/works/OL9074734W
- Earl, D. J. & Deem, M. W. (2005). Parallel tempering: Theory, applications, and new perspectives. Physical Chemistry Chemical Physics, 7(23), 3910–3916. https://doi.org/10.1039/b509983h
- Franzin, A. & Stützle, T. (2019). Revisiting simulated annealing: A component-based analysis. Computers & Operations Research. https://doi.org/10.1016/j.cor.2018.12.015
- Geman, S. & Geman, D. (1984). Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-6(6), 721–741. https://doi.org/10.1109/TPAMI.1984.4767596
- Goto, H., Tatsumura, K. & Dixon, A. R. (2019). Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems. Science Advances, 5(4), eaav2372. https://doi.org/10.1126/sciadv.aav2372
- Hajek, B. (1988). Cooling schedules for optimal annealing. Mathematics of Operations Research, 13(2), 311–329. https://doi.org/10.1287/moor.13.2.311
- Hastings, W. K. (1970). Monte Carlo sampling methods using Markov chains and their applications. Biometrika, 57(1), 97–109. https://doi.org/10.1093/biomet/57.1.97
- HPCwire (2011, 26 May). D-Wave sells first quantum computer. https://www.hpcwire.com/2011/05/26/d-wave_sells_first_quantum_computer/
- Hutama, R. R. & Muklason, A. (2024). Adaptive learning modified great deluge hyper-heuristics. International Journal of Computing, 23(2), 287–293. https://doi.org/10.47839/ijc.23.2.3549
- Ingber, L. (1989). Very fast simulated re-annealing. Mathematical and Computer Modelling, 12(8), 967–973. https://doi.org/10.1016/0895-7177(89)90202-1
- Johnson, D. S., Aragon, C. R., McGeoch, L. A. & Schevon, C. (1989). Optimization by simulated annealing: An experimental evaluation; Part I, graph partitioning. Operations Research, 37(6), 865–892. https://doi.org/10.1287/opre.37.6.865
- Kadowaki, T. & Nishimori, H. (1998). Quantum annealing in the transverse Ising model. Physical Review E, 58(5), 5355–5363. https://doi.org/10.1103/PhysRevE.58.5355
- King, A. D., Nocera, A., Rams, M. M., Dziarmaga, J., Wiersema, R., et al. (2025). Beyond-classical computation in quantum simulation. Science, 388(6743), 199–204. https://doi.org/10.1126/science.ado6285
- King, A. D., Raymond, J., Lanting, T., et al. (2023). Quantum critical dynamics in a 5,000-qubit programmable spin glass. Nature, 617, 61–66. https://doi.org/10.1038/s41586-023-05867-2
- Kirkpatrick, S., Gelatt, C. D. & Vecchi, M. P. (1983). Optimization by simulated annealing. Science, 220(4598), 671–680. https://doi.org/10.1126/science.220.4598.671
- Landa-Silva, D. & Obit, J. H. (2008). Great deluge with non-linear decay rate for solving course timetabling problems. Proc. 4th International IEEE Conference on Intelligent Systems (IS'08), Varna, 8-11–8-18. https://doi.org/10.1109/IS.2008.4670447
- Liu, F., Tong, X., Yuan, M., et al. (2024). Evolution of heuristics: Towards efficient automatic algorithm design using large language model. Proc. ICML 2024, PMLR 235. https://arxiv.org/abs/2401.02051
- Lundy, M. & Mees, A. (1986). Convergence of an annealing algorithm. Mathematical Programming, 34(1), 111–124. https://doi.org/10.1007/BF01582166
- McCollum, B., Schaerf, A., Paechter, B., McMullan, P., Lewis, R., Parkes, A. J., Di Gaspero, L., Qu, R. & Burke, E. K. (2010). Setting the research agenda in automated timetabling: The second international timetabling competition. INFORMS Journal on Computing, 22(1), 120–130. https://doi.org/10.1287/ijoc.1090.0320
- McMullan, P. (2007). An extended implementation of the great deluge algorithm for course timetabling. In Computational Science – ICCS 2007, LNCS, Springer, 538–545. https://doi.org/10.1007/978-3-540-72584-8_71
- Metropolis, N., Rosenbluth, A. W., Rosenbluth, M. N., Teller, A. H. & Teller, E. (1953). Equation of state calculations by fast computing machines. Journal of Chemical Physics, 21(6), 1087–1092. https://doi.org/10.1063/1.1699114
- Ministry of Science, Technology and Innovation (2024). National Guidelines on AI Governance and Ethics (AIGE). Government of Malaysia. https://www.malaysia.gov.my/en/my-initiative/whole-government-digital-services/tadbir-urus/national-guidelines-on-artificial-intelligence-governance-and-ethics-aige
- Munoz-Bauza, H. & Lidar, D. (2025). Scaling advantage in approximate optimization with quantum annealing. Physical Review Letters, 134(16), 160601. https://doi.org/10.1103/physrevlett.134.160601
- Müller, T. (2009). ITC2007 solver description: A hybrid approach. Annals of Operations Research, 172(1), 429–446. https://doi.org/10.1007/s10479-009-0644-y
- National AI Office (2024). Press release: Launch of the National AI Office, 12 December 2024. https://ai.gov.my/media/news-details/20241212_Press_Release_Launch_of_NAIO.pdf
- Nikhar, S., Kannan, S., Aadit, N. A., Chowdhury, S. & Camsari, K. Y. (2024). All-to-all reconfigurability with sparse and higher-order Ising machines. Nature Communications, 15, 8977. https://doi.org/10.1038/s41467-024-53270-w
- Novikov, A., Vũ, N., Eisenberger, M., et al. (2025). AlphaEvolve: A coding agent for scientific and algorithmic discovery. arXiv:2506.13131. https://arxiv.org/abs/2506.13131
- Personal Data Protection (Amendment) Act 2024, Malaysia: phased commencement 1 Jan, 1 Apr and 1 Jun 2025 (summary by HHQ). https://hhq.com.my/posts/full-implementation-of-the-personal-data-protection-amendment-act-2024-final-roundup/
- Qiu, N. & Liang, D. (2025). Reinforcement learning based simulated annealing. Proc. AAMAS 2025. https://aamas.csc.liv.ac.uk/Proceedings/aamas2025/pdfs/p1718.pdf
- Regulation (EU) 2024/1689 (Artificial Intelligence Act). Official Journal of the European Union. https://eur-lex.europa.eu/eli/reg/2024/1689/oj
- Regulation (EU) 2026/1744 (Digital Omnibus on AI). Official Journal of the European Union. https://eur-lex.europa.eu/eli/reg/2026/1744/oj
- Romera-Paredes, B., Barekatain, M., Novikov, A., et al. (2024). Mathematical discoveries from program search with large language models. Nature, 625, 468–475. https://doi.org/10.1038/s41586-023-06924-6
- Russell, S. & Norvig, P. (2022). Artificial Intelligence: A Modern Approach (4th ed., Global Edition). Pearson. https://aima.cs.berkeley.edu/
- Sechen, C. & Sangiovanni-Vincentelli, A. (1985). The TimberWolf placement and routing package. IEEE Journal of Solid-State Circuits, 20(2), 510–522. https://doi.org/10.1109/JSSC.1985.1052337
- Shaker, K. & Abdullah, S. (2009). Incorporating great deluge approach with Kempe chain neighbourhood structure for curriculum-based course timetabling problems. 2nd Conference on Data Mining and Optimization (DMO), Kajang, 149–153. https://doi.org/10.1109/DMO.2009.5341894
- Swendsen, R. H. & Wang, J.-S. (1986). Replica Monte Carlo simulation of spin-glasses. Physical Review Letters, 57(21), 2607–2609. https://doi.org/10.1103/PhysRevLett.57.2607
- Talbi, E.-G. (2009). Metaheuristics: From Design to Implementation. John Wiley & Sons. https://doi.org/10.1002/9780470496916
- The Star (2026, 11 September). AI governance bill expected by early 2027, says Gobind. https://www.thestar.com.my/news/nation/2026/09/11/ai-governance-bill-expected-by-early-2027-says-gobind
- Tsallis, C. & Stariolo, D. A. (1996). Generalized simulated annealing. Physica A, 233(1–2), 395–406. https://doi.org/10.1016/S0378-4371(96)00271-3
- Turabieh, H. & Abdullah, S. (2011). An integrated hybrid approach to the examination timetabling problem. Omega, 39(6), 598–607. https://doi.org/10.1016/j.omega.2010.12.005
- UNESCO (2021). Recommendation on the Ethics of Artificial Intelligence. https://www.unesco.org/en/artificial-intelligence/recommendation-ethics
- van Stein, N. & Bäck, T. (2025). LLaMEA: A large language model evolutionary algorithm for automatically generating metaheuristics. IEEE Transactions on Evolutionary Computation, 29(2), 331–345. https://doi.org/10.1109/TEVC.2024.3497793
- Wolpert, D. H. & Macready, W. G. (1997). No free lunch theorems for optimization. IEEE Transactions on Evolutionary Computation, 1(1), 67–82. https://doi.org/10.1109/4235.585893
- Xiang, Y., Sun, D. Y., Fan, W. & Gong, X. G. (1997). Generalized simulated annealing algorithm and its application to the Thomson model. Physics Letters A, 233(3), 216–220. https://doi.org/10.1016/S0375-9601(97)00474-X
- Yang, C., Wang, X., Lu, Y., Liu, H., Le, Q. V., Zhou, D. & Chen, X. (2024). Large language models as optimizers. ICLR 2024. https://arxiv.org/abs/2309.03409
- Ye, H., Wang, J., Cao, Z., et al. (2024). ReEvo: Large language models as hyper-heuristics with reflective evolution. NeurIPS 2024. https://arxiv.org/abs/2402.01145
- Černý, V. (1985). Thermodynamical approach to the traveling salesman problem: An efficient simulation algorithm. Journal of Optimization Theory and Applications, 45(1), 41–51. https://doi.org/10.1007/BF00940812