chore(security): adaptar security_audit.bat y actualizar reporte de auditoria a 100% PASS

This commit is contained in:
2026-09-23 13:49:58 -03:00
parent 1aae432bba
commit ed97fb5995
4 changed files with 142 additions and 83 deletions
+4 -4
View File
@@ -45,7 +45,7 @@ class Individual:
self.fitness = 0.0
self.conflicts = []
def calculate_fitness(self, classrooms: Dict[int, Classroom], requests: Dict[int, ReservationRequest]) -> float:
def calculate_fitness(self, classrooms: Dict[int, Classroom], reservation_requests: Dict[int, ReservationRequest]) -> float:
"""Calculate fitness score based on multiple factors with fast O(K log K) interval conflict detection"""
score = 0.0
self.conflicts = []
@@ -73,9 +73,9 @@ class Individual:
for gene in self.genes:
classroom = classrooms.get(gene.classroom_id)
request = requests.get(gene.commission_id)
res_req = reservation_requests.get(gene.commission_id)
if not classroom or not request:
if not classroom or not res_req:
continue
# Factor 1: Capacity efficiency (40% weight)
@@ -83,7 +83,7 @@ class Individual:
score += capacity_score * 0.4
# Factor 2: Time preference satisfaction (30% weight)
time_score = self._calculate_time_score(gene, request)
time_score = self._calculate_time_score(gene, res_req)
score += time_score * 0.3
# Factor 3: Conflict penalty (20% weight)