Munwar92 commited on
Commit
4dd2be4
·
verified ·
1 Parent(s): 7fd1509

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -8
app.py CHANGED
@@ -55,7 +55,7 @@ st.write("**Subjects:**", st.session_state.subjects)
55
  st.write("**Teachers:**", st.session_state.teachers)
56
  st.write("**Rooms:**", st.session_state.rooms)
57
 
58
- # Timetable generation logic
59
  def generate_timetable(subjects, teachers, rooms, time_slots, days):
60
  model = cp_model.CpModel()
61
  schedule = {}
@@ -109,15 +109,18 @@ def generate_timetable(subjects, teachers, rooms, time_slots, days):
109
  solver = cp_model.CpSolver()
110
  status = solver.Solve(model)
111
 
112
- if status == cp_model.OPTIMAL:
113
- result = []
114
- for key, var in schedule.items():
115
- if solver.Value(var) == 1:
116
- result.append(key)
117
- return result
118
- else:
119
  return []
120
 
 
 
 
 
 
 
 
121
  # Time slots and days for timetable
122
  time_slots = [f"{hour}:00 - {hour+1}:00" for hour in range(8, 18)] # 8 AM to 6 PM
123
  days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
 
55
  st.write("**Teachers:**", st.session_state.teachers)
56
  st.write("**Rooms:**", st.session_state.rooms)
57
 
58
+ # Timetable generation logic with debugging
59
  def generate_timetable(subjects, teachers, rooms, time_slots, days):
60
  model = cp_model.CpModel()
61
  schedule = {}
 
109
  solver = cp_model.CpSolver()
110
  status = solver.Solve(model)
111
 
112
+ # Debugging: Print the solver status and results
113
+ if status != cp_model.OPTIMAL:
114
+ st.error(f"Solver failed to find a solution. Solver status: {status}")
 
 
 
 
115
  return []
116
 
117
+ result = []
118
+ for key, var in schedule.items():
119
+ if solver.Value(var) == 1:
120
+ result.append(key)
121
+
122
+ return result
123
+
124
  # Time slots and days for timetable
125
  time_slots = [f"{hour}:00 - {hour+1}:00" for hour in range(8, 18)] # 8 AM to 6 PM
126
  days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]