## 3 ILP Model Formulation
### Construction of Binary Matrices  
A key step in the ILP approach to tiling is to represent all placements of each polyomino in the target region \(R\) as binary matrices. The binary matrix associated with the \(j\) th placement of a polyomino \(P_{i}\) in \(R\) is denoted \(A^{i,j}\). We also represent the target region \(R\) as a binary matrix denoted as \(B\). The target region need not be rectangular and may have 'holes' and so, to represent it as a binary matrix, it is first positioned in the lattice of its rectangular hull. We illustrate an example in Figure 8 along with the associated binary matrix, where the \((i,j)\) th entry of \(B\) is equal to the number '1' if there is a corresponding cell in the \((i,j)\) th position of \(R\); otherwise, the \((i,j)\) th entry is equal to zero.  
How we construct the binary matrices for each placement of a polyomino in \(R\) is similar. The \((i,j)\)-th entry of the binary matrix \(A^{i,j}\) is equal to the number '1' if there is a corresponding cell in the \((i,j)\)-th position of \(R\) covered by a cell of the polyomino; otherwise, the \((i,j)\)-th entry of \(A^{i,j}\) is equal to zero. Figure 9 illustrates how we construct two binary matrices corresponding to different placements of a tetromino into \(R\). Once we have constructed all the binary matrices, we assemble the ILP problem.  
Figure 8: Constructing the binary matrix for \(R\): (**a**) the target region \(R\); (**b**) binary matrix \(B\).  
Figure 6: The 4 possible orientations of a tetromino \(P_{i}\).  
Figure 7: The 8 possible orientations of the pariolomino \(P_{i}^{+}\) (\(=P_{i}^{-}\)) corresponding to the tetromino \(P_{i}\) of Figure 6.  
We must modify the procedure for constructing the binary matrices when fitting parioninoes into a checkerboard coloured region. Not only must the parionino fit in the target region, but the colouring of cells covered must coincide with the colouring of cells in the parionino, which generally yields a reduction in the total number of binary matrices compared to the polyomino tiling case. We construct the binary matrix \(B\) associated with a checkerboard coloured region in the same way as in the case without colouring. For example, Figure 10 illustrates how we construct \(B\) associated with a checkerboard colouring applied to the region in Figure 8. We obtain the same binary matrix if we reverse the checkerboard colouring of \(R\), and the results of the checkerboard colouring approach in this work are independent of which colouring we use. Figure 11 illustrates the binary matrices associated with two different placements of the parionino shown in Figure 7. To distinguish the parioninoes from the checkerboard coloured region containing them, we outline them in red. We denote the \(j\)-th placement of a parionino \(P_{i}^{+}\) or \(P_{i}^{-}\) in a checkerboard coloured target region \(R\) by \(\widehat{A}^{ij}\).  
Figure 10: Constructing the binary matrix for a checkerboard coloured region \(R\): (**a**) the target region \(R\); (**b**) binary matrix \(B\).  
Figure 9: Constructing the binary matrices for two placements of a tetromino in \(R\): (**a**) first placement of \(P_{1}\); (**b**) binary matrix \(A^{1,1}\); (**c**) second placement of \(P_{1}\); (**d**) binary matrix \(A^{1,2}\).