import numpy as np
class PasarModel(Model):
def __init__(self, n_perusahaan, n_konsumen):
super().__init__()
self.space = ContinuousSpace(1, 1, False)
self.schedule = SimultaneousActivation(self)
self.perusahaan = [Perusahaan(i, self) for i in range(n_perusahaan)]
self.konsumen = [Konsumen(i, self) for i in range(n_konsumen)]
self.pangsa_pasar = [0] * n_perusahaan # Placeholder for market share
for p in self.perusahaan:
self.space.place_agent(p, p.lokasi)
for c in self.konsumen:
self.space.place_agent(c, (np.random.random(), np.random.random()))
def step(self):
self.schedule.step()
# Update market share and other metrics here