title: Scheduling timetable algorithm
body: <p>I was wondering if anyone could please point me the right direction on how to approach the scheduling problem.  </p>
  
  <p>I have a teacher/student timetable problem, where I have teachers that teach certain subject at certain times and students that have preferences as of which class they want to take an when.  The goal is to create a timetable not necessarily optimal solution.  </p>
  
  <p>I looked around here and there is a  great number of discussions here on this website on this topic and the ones that I found go from super general to excessively difficult and I am currently unable to understand which programming/logic concepts to use to at least conceptualize the program work-flow.  </p>
  
  <p>Could anyone that dealt with similar problems explain how these types of problems are dealt with.  I do not need the code (although pseudo-code would be awesome), but some guidelines ie step#1 - do this, step#2 - do that, step#3 - do etc....</p>
  
  <p>Also, are there any libraries that are available that can do scheduling with preferences effectively and that have fairly straightforward inputs?</p>
  
  <p>Many thanks!!</p>
  
  <p>here is the outline of a problem that I have.</p>
  
  <p>Let's say I have a group of salespeople:</p>
  
  <p><img src="https://i.stack.imgur.com/JF0GF.png" alt="enter image description here"></p>
  
  <p>The goal is to create a schedule that pairs buyer and seller subject to time availability and preferences.  </p>
  
  <p>This is a course time-tabling problem, right?</p>
  
  <p>Can I accomplish with Drool Planner?  </p>