---
title: Ant Colony Optimization
url: https://rone.dev/id/projects/ant-colony-optimization
description: Persoalan travelling salesman, diselesaikan jejak feromon dalam tujuh puluh tujuh baris.
language: id-ID
updated: 2026-09-27
translations:
  en: https://rone.dev/projects/ant-colony-optimization
---

# Ant Colony Optimization

Persoalan travelling salesman, diselesaikan jejak feromon dalam tujuh puluh tujuh baris.

[Proyek](https://rone.dev/id/projects) / [AI](https://rone.dev/id/projects/category/ai)

Diarsipkan · Dimulai 2024 · 1 Bintang GitHub · 0 Fork

Ant colony optimisation diterapkan pada persoalan travelling salesman tujuh kota: jejak feromon, heuristik jarak, penguapan, dan deposit berbobot panjang tur — seluruh metaheuristiknya dalam satu berkas pendek, dengan varian kedua yang menambahkan NumPy dan keacakan berbenih.

## Hasil pengukuran

Daftar bobot transisinya diberi nama probabilities dan tidak pernah disampel — kota berikutnya adalah argmax-nya. Dengan tiga semut yang dipatok pada kota awal tetap, koloninya menjadi deterministik dan setiap iterasi mengulang tiga tur yang sama.

`ant.py, select_next_city`

## Fakta proyek

|           |                                                                       |
| --------- | --------------------------------------------------------------------- |
| Status    | Diarsipkan                                                            |
| Kategori  | AI                                                                    |
| Dimulai   | 2024                                                                  |
| Peran     | Riset dan implementasi                                                |
| Teknologi | Python, NumPy                                                         |
| Lisensi   | CC0-1.0                                                               |
| Tautan    | [Kode sumber](https://github.com/ridwaanhall/ant-colony-optimization) |

## Sekilas

Semut yang berjalan di sebuah graf meninggalkan feromon sebanding dengan sebaik apa tur mereka, dan jejaknya menguap. Ulangi, dan koloninya memusat pada rute-rute pendek tanpa pernah ada yang menghitung sebuah rute secara langsung. Itu gagasan yang sungguh elegan dan muat dengan nyaman di bawah seratus baris: aturan transisinya menimbang feromon terhadap kebalikan jarak dengan dua eksponen yang lazim, dan pembaruannya menguapkan setiap sisi sebelum mendepositkan di sepanjang tiap tur.

## Dua varian, dan perbedaan di antara keduanya

Versi pendeknya membangun bobot transisinya dengan benar — feromon dipangkatkan alpha, kebalikan jarak dipangkatkan beta — menyimpannya dalam daftar bernama probabilities, lalu mengambil argmax-nya alih-alih menyampel darinya. Tidak ada yang menormalkan daftar itu dan tidak ada yang menarik sampel darinya. Digabung dengan tiga semut yang dipatok pada kota awal tetap, sesi jalannya menjadi deterministik: setiap iterasi mengulang tiga tur yang sama, dan pembaruan feromonnya memperkuat keputusan yang sejak awal tidak pernah diragukan.

Varian keduanya memulihkan apa yang hilang dari yang pertama: pemilihan probabilistik yang benar dengan generator berbenih, sehingga koloninya benar-benar menjelajah dan jejak feromonnya punya sesuatu untuk dicondongkan. Pasangan ini layak disimpan berdampingan, karena jarak di antara keduanya persis adalah bagian dari algoritmanya yang mengerjakan pekerjaan.

<CardGroup cols={1}>
  <Card title="Sebelumnya: Zeronine" href="https://rone.dev/id/projects/zeronine">
    Gambar sebuah karakter; empat model konvolusi membacanya, dalam Latin atau Arab.
  </Card>
</CardGroup>
