Nature-Inspired Algorithms

Business Optimizer Simulator

Simulasi implementasi NIA pada kasus bisnis nyata — churn retention, network planning, dan staff scheduling. Semua angka dalam Rupiah.

fitness function
PYTHON Telco churn — pilih offer terbaik per pelanggan berisiko
def fitness(solution, customers, budget):
# solution = [offer_id per pelanggan], misal [2, 0, 1, 3, ...]
total_cost = sum(OFFER_COST[solution[i]] for i in range(len(customers)))
if total_cost > budget:
return -999_999 # constraint violation

retained = sum(
customers[i]['arpu'] * ACCEPT_RATE[solution[i]][customers[i]['risk']]
for i in range(len(customers))
)
return retained # maximise retained ARPU

# OFFERS: 0=tanpa offer, 1=diskon 10%, 2=gratis 1 bulan, 3=priority support
# GA akan mencari kombinasi terbaik yang memaksimalkan retained revenue
parameter simulasi
Pelanggan berisiko30 orang
Budget retensiRp 30jt
Ukuran populasi60
Generasi80
hasil optimasi
Revenue retained (GA)
Baseline (random)
assignment acak
Improvement vs baseline
GA vs random
Konvergen di generasi
CONVERGENCE CURVE — fitness per generasi
OPTIMIZATION LOG
Tekan "Jalankan GA" untuk memulai optimasi...
distribusi offer (hasil terbaik)
OFFER ALLOCATION TABLE

Belum ada hasil. Jalankan GA terlebih dahulu.

fitness function
PYTHON Penempatan tower — minimasi biaya + latency, coverage ≥ 95%
def fitness(solution):
towers = solution.reshape(-1, 2) # [(x1,y1), (x2,y2), ...]

coverage = compute_coverage(towers, DEMAND_POINTS, radius=3.0)
if coverage < 0.95:
return -999_999 # wajib cover 95% demand

avg_latency = mean_nearest_distance(DEMAND_POINTS, towers)
deploy_cost = len(towers) * BIAYA_PER_TOWER # Rp 500jt/tower
return -(avg_latency * 0.6 + deploy_cost * 0.4) # minimise

# PSO: setiap partikel = satu kandidat penempatan N tower
# velocity update: v = w*v + c1*r1*(pBest-x) + c2*r2*(gBest-x)
parameter simulasi
Jumlah tower6 tower
Titik demand50 titik
Jumlah partikel25
Biaya/towerRp 500jt
hasil optimasi
Coverage demand
target ≥ 95%
Avg latency
jarak ke tower terdekat
Total capex
PETA PENEMPATAN TOWER — area 10×10 km
Titik demand tercovered
Tidak tercovered
Tower BTS
Coverage radius
OPTIMIZATION LOG
Tekan "Jalankan PSO" untuk memulai optimasi...
fitness function
PYTHON Jadwal agen — minimasi biaya + penalti SLA violation
def fitness(schedule, agents, shifts, sla_min):
# schedule[i] = shift yang ditugaskan ke agen i
cost = sum(agents[a]['rate'] * shifts[s]['hours']
for a, s in enumerate(schedule))

coverage = defaultdict(int)
for a, s in enumerate(schedule):
for h in shifts[s]['covers']: coverage[h] += 1

penalty = sum(
max(0, sla_min - coverage[h]) * 500_000 # Rp 500rb per slot kurang
for h in ALL_HOURS
)
return -(cost + penalty) # minimise total
parameter simulasi
Jumlah agen14 agen
SLA min per slot2 agen/jam
Rate honor/jamRp 35rb
Generasi100
hasil optimasi
Biaya mingguan
SLA violations
slot jam di bawah target
Avg coverage
agen per slot jam
STAFFING HEATMAP — coverage agen per jam— SLA minimum
CONVERGENCE CURVE
OPTIMIZATION LOG
Tekan "Jalankan GA" untuk memulai optimasi...
distribusi shift (hasil terbaik)

Belum ada hasil.