title: Handling complexity of a scheduling and matching
body: <p>Is there a way to provide a np-complete proof of this following problem :</p>
  
  <blockquote>
    <p>given a set of <code>N  0-1</code> vectors (which can be considered as jobs)
    every job has a number of tasks to be proceeded( example : <code>v_1=(0,1,1,0)</code> this job needs tasks 2 and 3). In addition we have an integer <code>T</code>. the idea is to partition all vectors in <code>T</code> separate
    <code>sets A_i, i=1,..,T</code>.  There are some constraints :</p>
  </blockquote>
  
  <ul>
  <li><p>a job in a <code>set A_i</code> if started then should be finished before starting the next one in the same set.</p></li>
  <li><p>the cost of each task is 1 but if a there's a task j shared between 2 or more jobs at the same time then the cost is only 1.</p></li>
  <li><p>So the objective is to minimize this cost. in other words, <strong>find a partition <code>A_1,..,A_T</code> and also a permutation of execution of each job in each <code>set A_i</code>  so that to find matches between same tasks.</strong> </p></li>
  </ul>
  
  <p>This problem is a little bit like multiprocessor scheduling if we didn't have those additional constraint, but i couldn't find a formal proof.</p>
  
  <p>Thank you in advance. </p>