title: Machine scheduling problem
body: <p>i have a combinatoric problem as such:</p>
  
  <p>You are given N testers.</p>
  
  <p>Each tester is one of M different types.</p>
  
  <p>Each tester can be configured to use one of P different configs.
  .</p>
  
  <p>You have L lots of products to test, </p>
  
  <p>Each product can only be tested on specific Tester type, </p>
  
  <p>Each product can only be tested by Tester configured with specific Configs. Some of the Configs can be applied on multiple products.
  Any tester can change its config during production, but each change on tester config will incur additional time U .
  Each lot has a lot size that determines its test-time, Q.</p>
  
  <p>Now i need to come out a lot scheduling algorithm such that the time to finish testing all lots is minimum.</p>
  
  <p>What are the best approaches to tackle this kind of problem ? </p>