Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9025587
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T06:18:33+00:00 2026-06-16T06:18:33+00:00

Background (Skip this if you only care about the algorithm) At the university where

  • 0

Background


(Skip this if you only care about the algorithm)

At the university where I work, one of the biggest hassles in our department is classroom scheduling. For illustration purposes and to lay out the scope of the problem, here’s how we do scheduling now:

  1. Professors give us a list of the classes they’re teaching with the time slots they’d prefer to teach, ranked in order of priority (most desired to least desired).
  2. Administration gives us a list of the rooms we may assign along with the times those rooms are available for our department’s use.
  3. We start assigning professors to rooms trying (at first) to take into account the preferences of the various professors.
  4. Inevitably, conflicts arise, professors start asking for changes, and the plan falls to pieces somewhere around professor number 30, at which point we start assigning rooms basically wherever we can fit them in, crumpled pieces of paper are everywhere, and nobody’s happy. (If you’ve ever wondered why your class was at 9.30 in the morning on Thursday but 4 pm every other day, now you know)

I have been asked to quietly investigate whether software could do this more optimally.


The Actual Question

Is there an algorithm to efficiently schedule a set of resources such that the following criteria are met:

  • The algorithm must never assign two professors to the same room at the same time.
  • The task is not complete until every professor has been assigned a room / time.
  • The algorithm need not worry about having too many professors for the amount of time slots available. (We’re not that well funded.)
  • As much as is possible the algorithm should respect the scheduling preferences of the individual professors.

I feel like I can’t be the first one to ask this. Is there a efficient algorithm for this, or is this the sort of problem that can only be brute-forced?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T06:18:34+00:00Added an answer on June 16, 2026 at 6:18 am

    There have been papers written on timetabling and scheduling problems for some time. A web search on the two words “timetabling package” turns up commercial and other packages for this.

    I know of a problem domain where, despite spasmodic attempts to seek sophisticated solutions, people have ended up writing pretty basic programs implementing ad-hoc solutions – there has been no obvious sign of institutional learning in this field. The stated reason for this is that the users need to understand why the program makes its decisions, especially if it fails to solve the problem and they need to relax the constraints.

    It sounds possible that your particular problem – if it is as simple as it at first sounds – could be solved by using the http://en.wikipedia.org/wiki/Assignment_problem, where you assign particular courses to particular room time-slots instead of agents to tasks.

    It is possible that a program or algorithm will be influenced by the relative order of constraints in its input, especially if it encounters ties, where two solutions come out as equally good. I would be included to check for this, and, if so, to randomly re-order the input before presenting it to the program or algorithm in an attempt to at least turn bias into random luck.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

You can skip to the bottom line if you don't care about the background:
Background (You can skip this section) I have a large amount of data (about
Background in case you care, if not skip it: I was recording some audio
Background / Disclaimer First of all, please feel free to skip this entirely if
Some background information, you can skip this part for the actual question this is
The following is some background info on this post. You can just skip to
Skip to the specific question as needed. Some background: The scenario: I have a
Background: We're building an application that allows our customers to supply data in a
Background I am working with a monad built of a stack of transformers one
Background (If you are familiar with CORS, you might skip to the Question at

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.