\[lem:mod2\] and \[lem:mod3\] we know we can generate a schedule for our original instance in polynomial by only increasing the makespan by at most $2\epsilon$. This will overall lead to a $1+O(\epsilon)$ schedule. In the next section we will introduce our MILP that will allow us to find this schedule.

MILP {#S:MILP}
====

The main idea for the MILP is to build a modified configuration-LP. The configurations or patterns will only contain large and medium jobs. We will further focus on placing large and medium jobs from priority bags without conflicts, while we only use place-holder slots for non-priority bags and allow multiple jobs of non-priority bags on a machine. We will also consider positions for small jobs to ensure that we can place small jobs and account for possible conflicts with large and medium jobs from priority bags. Therefore we will also consider fractional packing of smaller jobs on top of patterns, while we enforce some small jobs from priority bags to be scheduled with integral variables. First of all we give a formal definition for these patterns, which partially resembles the pattern definition of Das and Wiese [@bagptas]. In our version however we do not need entries for 