OR-Tools Day37

개발공부를해보자·2025년 9월 11일

오늘 한 일

시간표 생성 페이지

  • 어떤 과목을 먼저 배치하면 좋을지 판단하는 휴리스틱 함수를 만들었다.
  • 위 함수는 다른 과목과 충돌하는 횟수, 사용 가능한 슬롯 수, 어려운 과목 여부, 시험 시간을 고려하여 만들었다.
  • 이를 이용하여 수동으로 배치하는 사용자에게 지금 어떤 과목을 우선 배치하는 것이 좋을 지 알려주도록 했다.
  • 추후 이 함수를 이용하여 OR-Tools 모델 생성 전 우선순위를 처리해서 데이터를 넣어주면 더 고품질의 시간표가 나오지 않을까?

앞으로 할 것

  • 우선 순위 휴리스틱 함수 충돌 과목 개수 점검
  • 과목 배치 화면에서 과목별 리스트에 수강 인원도 나오면 좋겠다
  • 하루 최대 과목 수 설정되어 있다면, 실시간으로 날짜별 하루 응시 과목 수 분포 띄워주면 좋을 듯
  • 드래그 앤 드롭으로 사용자가 배치한 시간표 데이터 저장하기
  • 일부 과목 배치 후 자동 생성기능
  • 기존에 있던 자동생성과 신규 페이지 통합
  • OR-Tools 모델에 데이터 전처리(휴리스틱)해서 효율 높이기
  • 시간표 생성 함수에 추가 설정들 반영하기
  • 시간표 생성 페이지 접속 시 필수 설정 안했으면 메세지 후 리디렉트
  • 일부 배정해두고 나머지 자동 생성하는 기능
  • 시간표 생성 페이지에 자동생성 기능 연동
  • 각종 조건의 출력 데이터 형식 일원화하기
  • 듣기평가 커스텀시 시간표 생성에 반영되지 않는 문제 해결하기
  • 선택 설정들 기본 값은 빈 값으로 바꾸고, 사용자가 원하면 필수 설정에서 자동 생성하는 기능, 추가로 편집할 수 있는 기능
  • 학생 충돌 추가시 2개 말고 n개를 동시에 충돌로 입력할 수 있게 하기
  • 특정 과목 불가한 슬롯 설정 기능 추가하기
  • 과목 정보 넣으면 반영해서 듣기평가 충돌, 교사 충돌 자동으로 넣을 지, 수동이 편할 지 고민
  • 목적 함수 작동 방식 바꾸기(가중치 없이 합 -> 우선 순위 방식)
  • 시험 시간표 작성 시 고려 사항 우선순위 사용자 지정 기능 추가하기
  • 시험 시간표를 사용자가 원하는대로 수정하는 기능 추가하기
  • 시험 장소 배치 시 듣기 평가 한 층 따로 쓰게 하는 옵션
  • 시험 감독 자동 배정 기능 추가하기
profile
개발 공부하는 30대 비전공자 직장인

0개의 댓글