Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Solving LinkedIn Patches by Linear Optimization

Patches Banner

How to Play Patches

Pathes is a game adapted from Shikaku (四角に切れ, shikaku ni kire), a japanese puzzle created by the puzzle-specialized publisher Nikoli on 2011.

Shikaku is played on a grid. Some of the squares on the grid contain numbers. The goal is to divide the grid into rectangular pieces such that each piece contains exactly one number, and each number represents the area of the patch.

Medium Shikaku 2026-08-17

Figure 1:Example of a Shikaku grid. Source: Shikaku of the Day

Solution of Medium Shikaku 2026-08-17

Figure 2:Solution of a Shikaku example. Source: Shikaku of the Day

The Patches’ grid contains some colored patch seeds that may state some features about the rectangles to be drawn on the grid, such as the required area (optional) or required shape (which can be a vertical rectangle, a horizontal rectangle, a square or any shape).

Figure 3:Example of Patches mini game. Source: LinkedIn Patches

Objective
Partition the grid into non-overlapping rectangular patches so that each patch meets the prescriptions on their respective seeds.
Rules
Each seed must be covered by only one patch that attends its prescriptions;
A patch must cover only one seed;
Specifically for the Patches game, the area of all patches must be greater than 1 square. That is, rectangles with dimensions 1 ×\times 1 are not allowed.

Problem Modeling

Ranges

Basically, we’ll have three ranges for defining all the next components: a range for rows, columns and ractangles.

I={1,,m}I = \{1, \cdots, m\}
The row range, where mm is the total amount of rows on game grid.
J={1,,n}J = \{1, \cdots, n\}
The column range, where nn is the total amount of columns on game grid.
K={1,,p}K = \{1, \cdots, p\}
Range of all patches to be drawn on grid game, where pp is the total of patch seeds on grid.

Sets

From II, JJ and KK ranges, we can define the following sets:

S=I×J={(i,j)iI,jJ}S = I \times J = \{(i,j) \mid \forall i \in I, \forall j \in J\}
Set of all grid squares, that is just the Cartesian product between sets II and JJ.
E={(i,j,k)iI,jJ,kK}I×J×KE = \{(i,j,k) \mid i \in I, j \in J, k \in K\} \subset I \times J \times K
Set of all squares (i,j)(i,j) that carry a seed about a patch kk.
VKV \subseteq K
Set of required vertical patches, i. e., patches whose height is greater than its width.
HKH \subseteq K
Set of required horizontal patches, i. e., patches whose width is greater than its height.
QKQ \subseteq K
Set of required square patches, i. e., patches whose width is equal to its height.
AKA \subseteq K
Set of patches with a required area aka_k.

Decision Variables

For Patches game, it’ll have seven sets of decision varibles.

Integer Variables

The following integer variables will be used to define the position and dimensions of the patches, which are the set of variables that solves the game:

lkI,kKl_k \in I, \forall k \in K
Index of the leftmost column of the patch kk.
tkJ,kKt_k \in J, \forall k \in K
Index of the top row of the patch kk.
wkI,kKw_k \in I, \forall k \in K
Width of the patch kk.
hkJ,kKh_k \in J, \forall k \in K
Height of the patch kk.

Binary Variables

However, in order to ensure the rectangularity and continuity of the geometric shapes and their required areas, it is necessary to use the following auxiliary binary variables:

uik{0,1},(i,k)I×Ku_{ik} \in \B, \forall (i,k) \in I \times K
uik=1u_{ik} = 1, if the row ii passes through the patch kk
uik=0u_{ik} = 0, otherwise
vjk{0,1},(j,k)J×Kv_{jk} \in \B, \forall (j,k) \in J \times K
vjk=1v_{jk} = 1, if the column jj passes through the patch kk
vjk=0v_{jk} = 0, otherwise
xijk{0,1},(i,j,k)I×J×Kx_{ijk} \in \B, \forall (i,j,k) \in I \times J \times K
xijk=1x_{ijk} = 1, if the square (i,j)(i,j) will be covered by patch kk.
xijk=0x_{ijk} = 0, otherwise

Parameters

akNa_k \in \N
Required area for the patch kAk \in A.

Objective Function

Since we only want to find a solution that satisfies all the rules of the game, the objective function of Patches’ model is a constant. Therefore, the LOP is a feasibility problem, whose objective function consists of maximizing (or minimizing) an arbitrary constant.

Max C\text{Max} \ C

Constraints

Domain Constraints

First, let’s settle the sets of constraints for the domain of decision variables.

Integrity Constraints
The main decision variables must be integers.
lkN,kKl_k \in \N, \forall k \in K
tkN,kKt_k \in \N, \forall k \in K
wkN,kKw_k \in \N, \forall k \in K
hkN,kKh_k \in \N, \forall k \in K
Binarity Constraints
The auxiliary decision variables must be binary.
uik{0,1},(i,k)I×Ku_{ik} \in \B, \forall (i,k) \in I \times K
vjk{0,1},(j,k)J×Kv_{jk} \in \B, \forall (j,k) \in J \times K
xijk{0,1},(i,j,k)I×J×Kx_{ijk} \in \B, \forall (i,j,k) \in I \times J \times K
Unique-Patch-Per-Square Constraints

Each grid square (i,j)(i,j) must be covered by only one patch kk.

kKxijk=1,(i,j)S\sum_{k \in K}{x_{ijk}} = 1, \forall (i,j) \in S
Grid-Boundaries Constraints

These sets of constraints ensure that any patch kk lies within the grid’s row and column boundaries.

Top-Row-Position Constraints
For each patch kk, the position tkt_k of its top row must be equal or greater than 1.
tk1,kKt_k \ge 1, \forall k \in K
Bottom-Row-Position Constraints
For each patch kk, the position of its bottom row, given by the expression tk+hk1t_k + h_k - 1, must be equal or less than the total amount of rows nn.
tk+hk1n,kKt_k + h_k - 1 \le n, \forall k \in K
Leftmost-Column-Position Constraints
For each patch kk, the position lkl_k of its leftmost column must be equal or greater than 1.
lk1,kKl_k \ge 1, \forall k \in K
Rightmost-Column-Position Constraints
For each patch kk, the position of its rightmost column, given by the expression lk+wk1l_k + w_k - 1, must be equal or less than the total amount of columns mm.
lk+wk1m,kKl_k + w_k - 1 \le m, \forall k \in K
Patch-Boundaries Constraints

These sets of constraints uses the Big MM strategy to ensure that any row ii and column jj that passes through a patch kk lies within its boundaries.

Top-Boundary Constraints
if a row ii passes through a patch kk, then the index ii must be equal or greater than its top row’s index tkt_k.
tkiM(1uik),(i,k)I×Kt_k - i \le M(1 - u_{ik}), \forall (i,k) \in I \times K
Bottom-Boundary Constraints
if a square (i,j)(i,j) is covered by patch kk, then the index ii must be equal or less than the patch’s bottom row’s index, given by tk+hk1t_k + h_k - 1.
i(tk+hk1)M(1uik),(i,k)I×Ki - (t_k + h_k - 1) \le M(1 - u_{ik}), \forall (i,k) \in I \times K
Leftmost-Boundary Constraints
if a colum jj passes through patch kk, then the index jj must be equal or greater than patch’s rightmost column’s index lkl_k.
lkjM(1vjk),(j,k)J×Kl_k - j \le M(1 - v_{jk}), \forall (j,k) \in J \times K
Rightmost-Boundary Constraints
if a colum jj passes through patch kk, then the index jj must be equal or less the patch’s last column’s index, given by lk+wk1l_k + w_k - 1.
j(lk+wk1)M(1vjk),(j,k)J×Kj - (l_k + w_k - 1) \le M(1 - v_{jk}), \forall (j,k) \in J \times K
Patch Dimensions constraints

These constraints are important to ensure that there’ll not be any gap inside the patches.

Height Constraints
The sum of all selected rows uiku_{ik} for a patch kk must be equal to its height.
iIuik=hk,kK\sum_{i \in I}{u_{ik}} = h_k, \forall k \in K
Width Constraints
The sum of all selected columns vjkv_{jk} for a patch kk must be equal to its width.
jJvjk=wk,kK\sum_{j \in J}{v_{jk}} = w_k, \forall k \in K
McCormick Linearization Constraints

These sets of constraints translates the non-linear contraint xijk=uik×vjkx_{ijk} = u_{ik} \times v_{jk} between the binary varibles in the model into three sets of linear constraints. They will ensure that if a row ii and a column jj pass through a patch kk, then the square (i,j)(i,j) will must be covered by that patch kk. Also, if uik=0u_{ik}=0 or vjk=0v_{jk}=0, then xijkx_{ijk} must be zero, which will ensure that if a row or column does not pass through a patch, then the square (i,j)(i,j) will not be covered by it.

Cutout-Row Constraints
If a row ii doesn’t pass through a patch kk, then all squares in that row must not be covered by that patch.
jJxijknuik,(i,k)I×K\sum_{j \in J}{x_{ijk}} \le n \cdot u_{ik}, \forall (i,k) \in I \times K
Cutout-Column Constraints
If a column jj doesn’t pass through a patch kk, then all squares in that column must not be covered by that patch.
iIxijkmvjk,(j,k)J×K\sum_{i \in I}{x_{ijk}} \le m \cdot v_{jk}, \forall (j,k) \in J \times K
Square-Activator Constraints
If both row ii and column jj pass the patch kk, then the square at this intersection must be covered by that patch.
xijkuik+vjk1,(i,j,k)I×J×Kx_{ijk} \ge u_{ik} + v_{jk} - 1, \forall (i,j,k) \in I \times J \times K
Seed Square Constraints

These sets of constraints deal with prescriptions required by the seed squares.

Seed Square Coverage Constraints
For each square (i,j)(i,j) with a seed about patch kk, it must be covered by kk.
xijk=1,(i,j,k)Tx_{ijk} = 1, \forall (i,j,k) \in T
Area Constraints
For each patch kk with a predefined area aka_k, the sum of its covered squares xijkx_{ijk} must be equal to aka_k
(i,j)Sxijk=ak,kA\sum_{(i,j) \in S}{x_{ijk}} = a_k, \forall k \in A
Vertical Patch Constraints
For each vertical patch kk, its height hkh_k must be greater than its width wkw_k.
wk<hk,kVw_k < h_k, \forall k \in V
Horizontal Patch Constraints
For each horizontal patch kk, its width wkw_k must be greater than its height hkh_k.
wk>hk,kHw_k > h_k, \forall k \in H
Square Patch Constraints
For each square patch kk, its width wkw_k must be equal to its height hkh_k.
wk=hk,kQw_k = h_k, \forall k \in Q

Abstract Model

With all components defined, we have the following abstract model for Patches game:

Min  C\text{Min } \ C
S.t.:xijkuik+vjk1,(i,j,k)I×J×Ktk1,kKtk+hk1n,kKlk1,kKlk+wk1m,kKtkim(1uik),(i,k)I×Ki(tk+hk1)m(1uik),(i,k)I×Klkjn(1vjk),(j,k)J×Kj(lk+wk1)n(1vjk),(j,k)J×KiIuik=hk,kKjJvjk=wk,kKkKxijk=1,(i,j)SjJxijknuik,(i,k)I×KiIxijkmvjk,(j,k)J×Kxijk=1,(i,j,k)E(i,j)Sxijk=ak,kAwk<hk,kVwk>hk,kHwk=hk,kQlkN,kKtkN,kKwkN,kKhkN,kKuij{0,1},(i,k)I×Kvjk{0,1},(j,k)J×Kxijk{0,1},(i,j,k)I×J×K\begin{array}{rll} \text{S.t.:} & & \\ & x_{ijk} \ge u_{ik} + v_{jk} - 1, & \forall (i,j,k) \in I \times J \times K \\ & t_k \ge 1, & \forall k \in K \\ & t_k + h_k - 1 \le n, & \forall k \in K \\ & l_k \ge 1, & \forall k \in K \\ & l_k + w_k - 1 \le m, & \forall k \in K \\ & t_k - i \le m(1-u_{ik}), & \forall (i,k) \in I \times K \\ & i - (t_k + h_k - 1) \le m(1-u_{ik}), & \forall (i,k) \in I \times K \\ & l_k - j \le n(1-v_{jk}), & \forall (j,k) \in J \times K \\ & j - (l_k + w_k - 1) \le n(1-v_{jk}), & \forall (j,k) \in J \times K \\ & \sum_{i \in I}{u_{ik}} = h_k, & \forall k \in K \\ & \sum_{j \in J}{v_{jk}} = w_k, & \forall k \in K \\ & \sum_{k \in K}{x_{ijk}} = 1, & \forall (i,j) \in S \\ & \sum_{j \in J}{x_{ijk}} \le nu_{ik}, & \forall (i,k) \in I \times K \\ & \sum_{i \in I}{x_{ijk}} \le mv_{jk}, & \forall (j,k) \in J \times K \\ & x_{ijk} = 1, & \forall (i,j,k) \in E \\ & \sum_{(i,j) \in S}{x_{ijk}} = a_k, & \forall k \in A \\ & w_k < h_k, & \forall k \in V \\ & w_k > h_k, & \forall k \in H \\ & w_k = h_k, & \forall k \in Q \\ & l_k \in \N, & \forall k \in K \\ & t_k \in \N, & \forall k \in K \\ & w_k \in \N, & \forall k \in K \\ & h_k \in \N, & \forall k \in K \\ & u_{ij} \in \B, & \forall (i,k) \in I \times K \\ & v_{jk} \in \B, & \forall (j,k) \in J \times K \\ & x_{ijk} \in \B, & \forall (i,j,k) \in I \times J \times K \\ \end{array}

Concrete model

The Patches game to be solved will be the No. 16, published on April 2nd, 2026.

Patches problem instance

Figure 4:Patches problem instance used in this article. Source: LinkedIn Patches

And you concrete model is as the following:

Min 0\text{Min} \ 0

S.t.:

Unique-Patch-Per-Square Constraints
x11+x11+x11+x11+x11+x11+x11+x11+x11+x11=1x_{11\yellowbox} + x_{11\tealbox} + x_{11\purplebox} + x_{11\greenbox} + x_{11\orangebox} + x_{11\redbox} + x_{11\bluebox} + x_{11\magentabox} + x_{11\brickbox} + x_{11\brownbox} = 1 Square (1,1)
x12+x12+x12+x12+x12+x12+x12+x12+x12+x12=1x_{12\yellowbox} + x_{12\tealbox} + x_{12\purplebox} + x_{12\greenbox} + x_{12\orangebox} + x_{12\redbox} + x_{12\bluebox} + x_{12\magentabox} + x_{12\brickbox} + x_{12\brownbox} = 1 Square (1,2)
x13+x13+x13+x13+x13+x13+x13+x13+x13+x13=1x_{13\yellowbox} + x_{13\tealbox} + x_{13\purplebox} + x_{13\greenbox} + x_{13\orangebox} + x_{13\redbox} + x_{13\bluebox} + x_{13\magentabox} + x_{13\brickbox} + x_{13\brownbox} = 1 Square (1,3)
x14+x14+x14+x14+x14+x14+x14+x14+x14+x14=1x_{14\yellowbox} + x_{14\tealbox} + x_{14\purplebox} + x_{14\greenbox} + x_{14\orangebox} + x_{14\redbox} + x_{14\bluebox} + x_{14\magentabox} + x_{14\brickbox} + x_{14\brownbox} = 1 Square (1,4)
x15+x15+x15+x15+x15+x15+x15+x15+x15+x15=1x_{15\yellowbox} + x_{15\tealbox} + x_{15\purplebox} + x_{15\greenbox} + x_{15\orangebox} + x_{15\redbox} + x_{15\bluebox} + x_{15\magentabox} + x_{15\brickbox} + x_{15\brownbox} = 1 Square (1,5)
x16+x16+x16+x16+x16+x16+x16+x16+x16+x16=1x_{16\yellowbox} + x_{16\tealbox} + x_{16\purplebox} + x_{16\greenbox} + x_{16\orangebox} + x_{16\redbox} + x_{16\bluebox} + x_{16\magentabox} + x_{16\brickbox} + x_{16\brownbox} = 1 Square (1,6)
x21+x21+x21+x21+x21+x21+x21+x21+x21+x21=1x_{21\yellowbox} + x_{21\tealbox} + x_{21\purplebox} + x_{21\greenbox} + x_{21\orangebox} + x_{21\redbox} + x_{21\bluebox} + x_{21\magentabox} + x_{21\brickbox} + x_{21\brownbox} = 1 Square (2,1)
x22+x22+x22+x22+x22+x22+x22+x22+x22+x22=1x_{22\yellowbox} + x_{22\tealbox} + x_{22\purplebox} + x_{22\greenbox} + x_{22\orangebox} + x_{22\redbox} + x_{22\bluebox} + x_{22\magentabox} + x_{22\brickbox} + x_{22\brownbox} = 1 Square (2,2)
x23+x23+x23+x23+x23+x23+x23+x23+x23+x23=1x_{23\yellowbox} + x_{23\tealbox} + x_{23\purplebox} + x_{23\greenbox} + x_{23\orangebox} + x_{23\redbox} + x_{23\bluebox} + x_{23\magentabox} + x_{23\brickbox} + x_{23\brownbox} = 1 Square (2,3)
x24+x24+x24+x24+x24+x24+x24+x24+x24+x24=1x_{24\yellowbox} + x_{24\tealbox} + x_{24\purplebox} + x_{24\greenbox} + x_{24\orangebox} + x_{24\redbox} + x_{24\bluebox} + x_{24\magentabox} + x_{24\brickbox} + x_{24\brownbox} = 1 Square (2,4)
x25+x25+x25+x25+x25+x25+x25+x25+x25+x25=1x_{25\yellowbox} + x_{25\tealbox} + x_{25\purplebox} + x_{25\greenbox} + x_{25\orangebox} + x_{25\redbox} + x_{25\bluebox} + x_{25\magentabox} + x_{25\brickbox} + x_{25\brownbox} = 1 Square (2,5)
x26+x26+x26+x26+x26+x26+x26+x26+x26+x26=1x_{26\yellowbox} + x_{26\tealbox} + x_{26\purplebox} + x_{26\greenbox} + x_{26\orangebox} + x_{26\redbox} + x_{26\bluebox} + x_{26\magentabox} + x_{26\brickbox} + x_{26\brownbox} = 1 Square (2,6)
x31+x31+x31+x31+x31+x31+x31+x31+x31+x31=1x_{31\yellowbox} + x_{31\tealbox} + x_{31\purplebox} + x_{31\greenbox} + x_{31\orangebox} + x_{31\redbox} + x_{31\bluebox} + x_{31\magentabox} + x_{31\brickbox} + x_{31\brownbox} = 1 Square (3,1)
x32+x32+x32+x32+x32+x32+x32+x32+x32+x32=1x_{32\yellowbox} + x_{32\tealbox} + x_{32\purplebox} + x_{32\greenbox} + x_{32\orangebox} + x_{32\redbox} + x_{32\bluebox} + x_{32\magentabox} + x_{32\brickbox} + x_{32\brownbox} = 1 Square (3,2)
x33+x33+x33+x33+x33+x33+x33+x33+x33+x33=1x_{33\yellowbox} + x_{33\tealbox} + x_{33\purplebox} + x_{33\greenbox} + x_{33\orangebox} + x_{33\redbox} + x_{33\bluebox} + x_{33\magentabox} + x_{33\brickbox} + x_{33\brownbox} = 1 Square (3,3)
x34+x34+x34+x34+x34+x34+x34+x34+x34+x34=1x_{34\yellowbox} + x_{34\tealbox} + x_{34\purplebox} + x_{34\greenbox} + x_{34\orangebox} + x_{34\redbox} + x_{34\bluebox} + x_{34\magentabox} + x_{34\brickbox} + x_{34\brownbox} = 1 Square (3,4)
x35+x35+x35+x35+x35+x35+x35+x35+x35+x35=1x_{35\yellowbox} + x_{35\tealbox} + x_{35\purplebox} + x_{35\greenbox} + x_{35\orangebox} + x_{35\redbox} + x_{35\bluebox} + x_{35\magentabox} + x_{35\brickbox} + x_{35\brownbox} = 1 Square (3,5)
x36+x36+x36+x36+x36+x36+x36+x36+x36+x36=1x_{36\yellowbox} + x_{36\tealbox} + x_{36\purplebox} + x_{36\greenbox} + x_{36\orangebox} + x_{36\redbox} + x_{36\bluebox} + x_{36\magentabox} + x_{36\brickbox} + x_{36\brownbox} = 1 Square (3,6)
x41+x41+x41+x41+x41+x41+x41+x41+x41+x41=1x_{41\yellowbox} + x_{41\tealbox} + x_{41\purplebox} + x_{41\greenbox} + x_{41\orangebox} + x_{41\redbox} + x_{41\bluebox} + x_{41\magentabox} + x_{41\brickbox} + x_{41\brownbox} = 1 Square (4,1)
x42+x42+x42+x42+x42+x42+x42+x42+x42+x42=1x_{42\yellowbox} + x_{42\tealbox} + x_{42\purplebox} + x_{42\greenbox} + x_{42\orangebox} + x_{42\redbox} + x_{42\bluebox} + x_{42\magentabox} + x_{42\brickbox} + x_{42\brownbox} = 1 Square (4,2)
x43+x43+x43+x43+x43+x43+x43+x43+x43+x43=1x_{43\yellowbox} + x_{43\tealbox} + x_{43\purplebox} + x_{43\greenbox} + x_{43\orangebox} + x_{43\redbox} + x_{43\bluebox} + x_{43\magentabox} + x_{43\brickbox} + x_{43\brownbox} = 1 Square (4,3)
x44+x44+x44+x44+x44+x44+x44+x44+x44+x44=1x_{44\yellowbox} + x_{44\tealbox} + x_{44\purplebox} + x_{44\greenbox} + x_{44\orangebox} + x_{44\redbox} + x_{44\bluebox} + x_{44\magentabox} + x_{44\brickbox} + x_{44\brownbox} = 1 Square (4,4)
x45+x45+x45+x45+x45+x45+x45+x45+x45+x45=1x_{45\yellowbox} + x_{45\tealbox} + x_{45\purplebox} + x_{45\greenbox} + x_{45\orangebox} + x_{45\redbox} + x_{45\bluebox} + x_{45\magentabox} + x_{45\brickbox} + x_{45\brownbox} = 1 Square (4,5)
x46+x46+x46+x46+x46+x46+x46+x46+x46+x46=1x_{46\yellowbox} + x_{46\tealbox} + x_{46\purplebox} + x_{46\greenbox} + x_{46\orangebox} + x_{46\redbox} + x_{46\bluebox} + x_{46\magentabox} + x_{46\brickbox} + x_{46\brownbox} = 1 Square (4,6)
x51+x51+x51+x51+x51+x51+x51+x51+x51+x51=1x_{51\yellowbox} + x_{51\tealbox} + x_{51\purplebox} + x_{51\greenbox} + x_{51\orangebox} + x_{51\redbox} + x_{51\bluebox} + x_{51\magentabox} + x_{51\brickbox} + x_{51\brownbox} = 1 Square (5,1)
x52+x52+x52+x52+x52+x52+x52+x52+x52+x52=1x_{52\yellowbox} + x_{52\tealbox} + x_{52\purplebox} + x_{52\greenbox} + x_{52\orangebox} + x_{52\redbox} + x_{52\bluebox} + x_{52\magentabox} + x_{52\brickbox} + x_{52\brownbox} = 1 Square (5,2)
x53+x53+x53+x53+x53+x53+x53+x53+x53+x53=1x_{53\yellowbox} + x_{53\tealbox} + x_{53\purplebox} + x_{53\greenbox} + x_{53\orangebox} + x_{53\redbox} + x_{53\bluebox} + x_{53\magentabox} + x_{53\brickbox} + x_{53\brownbox} = 1 Square (5,3)
x54+x54+x54+x54+x54+x54+x54+x54+x54+x54=1x_{54\yellowbox} + x_{54\tealbox} + x_{54\purplebox} + x_{54\greenbox} + x_{54\orangebox} + x_{54\redbox} + x_{54\bluebox} + x_{54\magentabox} + x_{54\brickbox} + x_{54\brownbox} = 1 Square (5,4)
x55+x55+x55+x55+x55+x55+x55+x55+x55+x55=1x_{55\yellowbox} + x_{55\tealbox} + x_{55\purplebox} + x_{55\greenbox} + x_{55\orangebox} + x_{55\redbox} + x_{55\bluebox} + x_{55\magentabox} + x_{55\brickbox} + x_{55\brownbox} = 1 Square (5,5)
x56+x56+x56+x56+x56+x56+x56+x56+x56+x56=1x_{56\yellowbox} + x_{56\tealbox} + x_{56\purplebox} + x_{56\greenbox} + x_{56\orangebox} + x_{56\redbox} + x_{56\bluebox} + x_{56\magentabox} + x_{56\brickbox} + x_{56\brownbox} = 1 Square (5,6)
x61+x61+x61+x61+x61+x61+x61+x61+x61+x61=1x_{61\yellowbox} + x_{61\tealbox} + x_{61\purplebox} + x_{61\greenbox} + x_{61\orangebox} + x_{61\redbox} + x_{61\bluebox} + x_{61\magentabox} + x_{61\brickbox} + x_{61\brownbox} = 1 Square (6,1)
x62+x62+x62+x62+x62+x62+x62+x62+x62+x62=1x_{62\yellowbox} + x_{62\tealbox} + x_{62\purplebox} + x_{62\greenbox} + x_{62\orangebox} + x_{62\redbox} + x_{62\bluebox} + x_{62\magentabox} + x_{62\brickbox} + x_{62\brownbox} = 1 Square (6,2)
x63+x63+x63+x63+x63+x63+x63+x63+x63+x63=1x_{63\yellowbox} + x_{63\tealbox} + x_{63\purplebox} + x_{63\greenbox} + x_{63\orangebox} + x_{63\redbox} + x_{63\bluebox} + x_{63\magentabox} + x_{63\brickbox} + x_{63\brownbox} = 1 Square (6,3)
x64+x64+x64+x64+x64+x64+x64+x64+x64+x64=1x_{64\yellowbox} + x_{64\tealbox} + x_{64\purplebox} + x_{64\greenbox} + x_{64\orangebox} + x_{64\redbox} + x_{64\bluebox} + x_{64\magentabox} + x_{64\brickbox} + x_{64\brownbox} = 1 Square (6,4)
x65+x65+x65+x65+x65+x65+x65+x65+x65+x65=1x_{65\yellowbox} + x_{65\tealbox} + x_{65\purplebox} + x_{65\greenbox} + x_{65\orangebox} + x_{65\redbox} + x_{65\bluebox} + x_{65\magentabox} + x_{65\brickbox} + x_{65\brownbox} = 1 Square (6,5)
x66+x66+x66+x66+x66+x66+x66+x66+x66+x66=1x_{66\yellowbox} + x_{66\tealbox} + x_{66\purplebox} + x_{66\greenbox} + x_{66\orangebox} + x_{66\redbox} + x_{66\bluebox} + x_{66\magentabox} + x_{66\brickbox} + x_{66\brownbox} = 1 Square (6,6)
Top Row Constraints
t1t_{\yellowbox} \ge 1 Yellow Patch
t1t_{\tealbox} \ge 1 Teal Patch
t1t_{\purplebox} \ge 1 Purple Patch
t1t_{\greenbox} \ge 1 Green Patch
t1t_{\orangebox} \ge 1 Orange Patch
t1t_{\redbox} \ge 1 Red Patch
t1t_{\bluebox} \ge 1 Blue Patch
t1t_{\magentabox} \ge 1 Magenta Patch
t1t_{\brickbox} \ge 1 Brick Patch
t1t_{\brownbox} \ge 1 Brown Patch
Bottom Row Constraints
t+h16t_{\yellowbox} + h_{\yellowbox} - 1 \le 6 Yellow Patch
t+h16t_{\tealbox} + h_{\tealbox} - 1 \le 6 Teal Patch
t+h16t_{\purplebox} + h_{\purplebox} - 1 \le 6 Purple Patch
t+h16t_{\greenbox} + h_{\greenbox} - 1 \le 6 Green Patch
t+h16t_{\orangebox} + h_{\orangebox} - 1 \le 6 Orange Patch
t+h16t_{\redbox} + h_{\redbox} - 1 \le 6 Red Patch
t+h16t_{\bluebox} + h_{\bluebox} - 1 \le 6 Blue Patch
t+h16t_{\magentabox} + h_{\magentabox} - 1 \le 6 Magenta Patch
t+h16t_{\brickbox} + h_{\brickbox} - 1 \le 6 Brick Patch
t+h16t_{\brownbox} + h_{\brownbox} - 1 \le 6 Brown Patch
Leftmost Column Constraints
l1l_{\yellowbox} \ge 1 Yellow Patch
l1l_{\tealbox} \ge 1 Teal Patch
l1l_{\purplebox} \ge 1 Purple Patch
l1l_{\greenbox} \ge 1 Green Patch
l1l_{\orangebox} \ge 1 Orange Patch
l1l_{\redbox} \ge 1 Red Patch
l1l_{\bluebox} \ge 1 Blue Patch
l1l_{\magentabox} \ge 1 Magenta Patch
l1l_{\brickbox} \ge 1 Brick Patch
l1l_{\brownbox} \ge 1 Brown Patch
Rightmost Column Constraints
l+w16l_{\yellowbox} + w_{\yellowbox} - 1 \le 6 Yellow Patch
l+w16l_{\tealbox} + w_{\tealbox} - 1 \le 6 Teal Patch
l+w16l_{\purplebox} + w_{\purplebox} - 1 \le 6 Purple Patch
l+w16l_{\greenbox} + w_{\greenbox} - 1 \le 6 Green Patch
l+w16l_{\orangebox} + w_{\orangebox} - 1 \le 6 Orange Patch
l+w16l_{\redbox} + w_{\redbox} - 1 \le 6 Red Patch
l+w16l_{\bluebox} + w_{\bluebox} - 1 \le 6 Blue Patch
l+w16l_{\magentabox} + w_{\magentabox} - 1 \le 6 Magenta Patch
l+w16l_{\brickbox} + w_{\brickbox} - 1 \le 6 Brick Patch
l+w16l_{\brownbox} + w_{\brownbox} - 1 \le 6 Brown Patch
Top Boundary Constraints
t16(1u1)t_{\yellowbox} - 1 \le 6(1-u_{1\yellowbox}) Row 1, Yellow Patch
t26(1u2)t_{\yellowbox} - 2 \le 6(1-u_{2\yellowbox}) Row 2, Yellow Patch
t36(1u3)t_{\yellowbox} - 3 \le 6(1-u_{3\yellowbox}) Row 3, Yellow Patch
t46(1u4)t_{\yellowbox} - 4 \le 6(1-u_{4\yellowbox}) Row 4, Yellow Patch
t56(1u5)t_{\yellowbox} - 5 \le 6(1-u_{5\yellowbox}) Row 5, Yellow Patch
t66(1u6)t_{\yellowbox} - 6 \le 6(1-u_{6\yellowbox}) Row 6, Yellow Patch
t16(1u1)t_{\tealbox} - 1 \le 6(1-u_{1\tealbox}) Row 1, Tealbox Patch
t26(1u2)t_{\tealbox} - 2 \le 6(1-u_{2\tealbox}) Row 2, Tealbox Patch
t36(1u3)t_{\tealbox} - 3 \le 6(1-u_{3\tealbox}) Row 3, Tealbox Patch
t46(1u4)t_{\tealbox} - 4 \le 6(1-u_{4\tealbox}) Row 4, Tealbox Patch
t56(1u5)t_{\tealbox} - 5 \le 6(1-u_{5\tealbox}) Row 5, Tealbox Patch
t66(1u6)t_{\tealbox} - 6 \le 6(1-u_{6\tealbox}) Row 6, Tealbox Patch
t16(1u1)t_{\purplebox} - 1 \le 6(1-u_{1\purplebox}) Row 1, Purple Patch
t26(1u2)t_{\purplebox} - 2 \le 6(1-u_{2\purplebox}) Row 2, Purple Patch
t36(1u3)t_{\purplebox} - 3 \le 6(1-u_{3\purplebox}) Row 3, Purple Patch
t46(1u4)t_{\purplebox} - 4 \le 6(1-u_{4\purplebox}) Row 4, Purple Patch
t56(1u5)t_{\purplebox} - 5 \le 6(1-u_{5\purplebox}) Row 5, Purple Patch
t66(1u6)t_{\purplebox} - 6 \le 6(1-u_{6\purplebox}) Row 6, Purple Patch
t16(1u1)t_{\greenbox} - 1 \le 6(1-u_{1\greenbox}) Row 1, Green Patch
t26(1u2)t_{\greenbox} - 2 \le 6(1-u_{2\greenbox}) Row 2, Green Patch
t36(1u3)t_{\greenbox} - 3 \le 6(1-u_{3\greenbox}) Row 3, Green Patch
t46(1u4)t_{\greenbox} - 4 \le 6(1-u_{4\greenbox}) Row 4, Green Patch
t56(1u5)t_{\greenbox} - 5 \le 6(1-u_{5\greenbox}) Row 5, Green Patch
t66(1u6)t_{\greenbox} - 6 \le 6(1-u_{6\greenbox}) Row 6, Green Patch
t16(1u1)t_{\orangebox} - 1 \le 6(1-u_{1\orangebox}) Row 1, Orange Patch
t26(1u2)t_{\orangebox} - 2 \le 6(1-u_{2\orangebox}) Row 2, Orange Patch
t36(1u3)t_{\orangebox} - 3 \le 6(1-u_{3\orangebox}) Row 3, Orange Patch
t46(1u4)t_{\orangebox} - 4 \le 6(1-u_{4\orangebox}) Row 4, Orange Patch
t56(1u5)t_{\orangebox} - 5 \le 6(1-u_{5\orangebox}) Row 5, Orange Patch
t66(1u6)t_{\orangebox} - 6 \le 6(1-u_{6\orangebox}) Row 6, Orange Patch
t16(1u1)t_{\redbox} - 1 \le 6(1-u_{1\redbox}) Row 1, Red Patch
t26(1u2)t_{\redbox} - 2 \le 6(1-u_{2\redbox}) Row 2, Red Patch
t36(1u3)t_{\redbox} - 3 \le 6(1-u_{3\redbox}) Row 3, Red Patch
t46(1u4)t_{\redbox} - 4 \le 6(1-u_{4\redbox}) Row 4, Red Patch
t56(1u5)t_{\redbox} - 5 \le 6(1-u_{5\redbox}) Row 5, Red Patch
t66(1u6)t_{\redbox} - 6 \le 6(1-u_{6\redbox}) Row 6, Red Patch
t16(1u1)t_{\bluebox} - 1 \le 6(1-u_{1\bluebox}) Row 1, Blue Patch
t26(1u2)t_{\bluebox} - 2 \le 6(1-u_{2\bluebox}) Row 2, Blue Patch
t36(1u3)t_{\bluebox} - 3 \le 6(1-u_{3\bluebox}) Row 3, Blue Patch
t46(1u4)t_{\bluebox} - 4 \le 6(1-u_{4\bluebox}) Row 4, Blue Patch
t56(1u5)t_{\bluebox} - 5 \le 6(1-u_{5\bluebox}) Row 5, Blue Patch
t66(1u6)t_{\bluebox} - 6 \le 6(1-u_{6\bluebox}) Row 6, Blue Patch
t16(1u1)t_{\magentabox} - 1 \le 6(1-u_{1\magentabox}) Row 1, Magenta Patch
t26(1u2)t_{\magentabox} - 2 \le 6(1-u_{2\magentabox}) Row 2, Magenta Patch
t36(1u3)t_{\magentabox} - 3 \le 6(1-u_{3\magentabox}) Row 3, Magenta Patch
t46(1u4)t_{\magentabox} - 4 \le 6(1-u_{4\magentabox}) Row 4, Magenta Patch
t56(1u5)t_{\magentabox} - 5 \le 6(1-u_{5\magentabox}) Row 5, Magenta Patch
t66(1u6)t_{\magentabox} - 6 \le 6(1-u_{6\magentabox}) Row 6, Magenta Patch
t16(1u1)t_{\brickbox} - 1 \le 6(1-u_{1\brickbox}) Row 1, Brick Patch
t26(1u2)t_{\brickbox} - 2 \le 6(1-u_{2\brickbox}) Row 2, Brick Patch
t36(1u3)t_{\brickbox} - 3 \le 6(1-u_{3\brickbox}) Row 3, Brick Patch
t46(1u4)t_{\brickbox} - 4 \le 6(1-u_{4\brickbox}) Row 4, Brick Patch
t56(1u5)t_{\brickbox} - 5 \le 6(1-u_{5\brickbox}) Row 5, Brick Patch
t66(1u6)t_{\brickbox} - 6 \le 6(1-u_{6\brickbox}) Row 6, Brick Patch
t16(1u1)t_{\brownbox} - 1 \le 6(1-u_{1\brownbox}) Row 1, Brown Patch
t26(1u2)t_{\brownbox} - 2 \le 6(1-u_{2\brownbox}) Row 2, Brown Patch
t36(1u3)t_{\brownbox} - 3 \le 6(1-u_{3\brownbox}) Row 3, Brown Patch
t46(1u4)t_{\brownbox} - 4 \le 6(1-u_{4\brownbox}) Row 4, Brown Patch
t56(1u5)t_{\brownbox} - 5 \le 6(1-u_{5\brownbox}) Row 5, Brown Patch
t66(1u6)t_{\brownbox} - 6 \le 6(1-u_{6\brownbox}) Row 6, Brown Patch
Bottom Boundary Constraints
1(t+h1)6(1u1)1 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{1\yellowbox}) Row 1, Yellow Patch
2(t+h1)6(1u2)2 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{2\yellowbox}) Row 2, Yellow Patch
3(t+h1)6(1u3)3 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{3\yellowbox}) Row 3, Yellow Patch
4(t+h1)6(1u4)4 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{4\yellowbox}) Row 4, Yellow Patch
5(t+h1)6(1u5)5 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{5\yellowbox}) Row 5, Yellow Patch
6(t+h1)6(1u6)6 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{6\yellowbox}) Row 6, Yellow Patch
1(t+h1)6(1u1)1 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{1\tealbox}) Row 1, Tealbox Patch
2(t+h1)6(1u2)2 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{2\tealbox}) Row 2, Tealbox Patch
3(t+h1)6(1u3)3 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{3\tealbox}) Row 3, Tealbox Patch
4(t+h1)6(1u4)4 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{4\tealbox}) Row 4, Tealbox Patch
5(t+h1)6(1u5)5 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{5\tealbox}) Row 5, Tealbox Patch
6(t+h1)6(1u6)6 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{6\tealbox}) Row 6, Tealbox Patch
1(t+h1)6(1u1)1 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{1\purplebox}) Row 1, Purple Patch
2(t+h1)6(1u2)2 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{2\purplebox}) Row 2, Purple Patch
3(t+h1)6(1u3)3 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{3\purplebox}) Row 3, Purple Patch
4(t+h1)6(1u4)4 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{4\purplebox}) Row 4, Purple Patch
5(t+h1)6(1u5)5 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{5\purplebox}) Row 5, Purple Patch
6(t+h1)6(1u6)6 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{6\purplebox}) Row 6, Purple Patch
1(t+h1)6(1u1)1 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{1\greenbox}) Row 1, Green Patch
2(t+h1)6(1u2)2 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{2\greenbox}) Row 2, Green Patch
3(t+h1)6(1u3)3 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{3\greenbox}) Row 3, Green Patch
4(t+h1)6(1u4)4 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{4\greenbox}) Row 4, Green Patch
5(t+h1)6(1u5)5 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{5\greenbox}) Row 5, Green Patch
6(t+h1)6(1u6)6 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{6\greenbox}) Row 6, Green Patch
1(t+h1)6(1u1)1 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{1\orangebox}) Row 1, Orange Patch
2(t+h1)6(1u2)2 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{2\orangebox}) Row 2, Orange Patch
3(t+h1)6(1u3)3 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{3\orangebox}) Row 3, Orange Patch
4(t+h1)6(1u4)4 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{4\orangebox}) Row 4, Orange Patch
5(t+h1)6(1u5)5 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{5\orangebox}) Row 5, Orange Patch
6(t+h1)6(1u6)6 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{6\orangebox}) Row 6, Orange Patch
1(t+h1)6(1u1)1 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{1\redbox}) Row 1, Red Patch
2(t+h1)6(1u2)2 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{2\redbox}) Row 2, Red Patch
3(t+h1)6(1u3)3 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{3\redbox}) Row 3, Red Patch
4(t+h1)6(1u4)4 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{4\redbox}) Row 4, Red Patch
5(t+h1)6(1u5)5 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{5\redbox}) Row 5, Red Patch
6(t+h1)6(1u6)6 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{6\redbox}) Row 6, Red Patch
1(t+h1)6(1u1)1 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{1\bluebox}) Row 1, Blue Patch
2(t+h1)6(1u2)2 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{2\bluebox}) Row 2, Blue Patch
3(t+h1)6(1u3)3 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{3\bluebox}) Row 3, Blue Patch
4(t+h1)6(1u4)4 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{4\bluebox}) Row 4, Blue Patch
5(t+h1)6(1u5)5 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{5\bluebox}) Row 5, Blue Patch
6(t+h1)6(1u6)6 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{6\bluebox}) Row 6, Blue Patch
1(t+h1)6(1u1)1 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{1\magentabox}) Row 1, Magenta Patch
2(t+h1)6(1u2)2 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{2\magentabox}) Row 2, Magenta Patch
3(t+h1)6(1u3)3 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{3\magentabox}) Row 3, Magenta Patch
4(t+h1)6(1u4)4 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{4\magentabox}) Row 4, Magenta Patch
5(t+h1)6(1u5)5 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{5\magentabox}) Row 5, Magenta Patch
6(t+h1)6(1u6)6 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{6\magentabox}) Row 6, Magenta Patch
1(t+h1)6(1u1)1 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{1\brickbox}) Row 1, Brick Patch
2(t+h1)6(1u2)2 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{2\brickbox}) Row 2, Brick Patch
3(t+h1)6(1u3)3 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{3\brickbox}) Row 3, Brick Patch
4(t+h1)6(1u4)4 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{4\brickbox}) Row 4, Brick Patch
5(t+h1)6(1u5)5 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{5\brickbox}) Row 5, Brick Patch
6(t+h1)6(1u6)6 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{6\brickbox}) Row 6, Brick Patch
1(t+h1)6(1u1)1 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{1\brownbox}) Row 1, Brown Patch
2(t+h1)6(1u2)2 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{2\brownbox}) Row 2, Brown Patch
3(t+h1)6(1u3)3 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{3\brownbox}) Row 3, Brown Patch
4(t+h1)6(1u4)4 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{4\brownbox}) Row 4, Brown Patch
5(t+h1)6(1u5)5 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{5\brownbox}) Row 5, Brown Patch
6(t+h1)6(1u6)6 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{6\brownbox}) Row 6, Brown Patch
Left Boundary Constraints
l16(1v1)l_{\yellowbox} - 1 \le 6(1 - v_{1\yellowbox}) Column 1, Yellow Patch
l26(1v2)l_{\yellowbox} - 2 \le 6(1 - v_{2\yellowbox}) Column 2, Yellow Patch
l36(1v3)l_{\yellowbox} - 3 \le 6(1 - v_{3\yellowbox}) Column 3, Yellow Patch
l46(1v4)l_{\yellowbox} - 4 \le 6(1 - v_{4\yellowbox}) Column 4, Yellow Patch
l56(1v5)l_{\yellowbox} - 5 \le 6(1 - v_{5\yellowbox}) Column 5, Yellow Patch
l66(1v6)l_{\yellowbox} - 6 \le 6(1 - v_{6\yellowbox}) Column 6, Yellow Patch
l16(1v1)l_{\tealbox} - 1 \le 6(1 - v_{1\tealbox}) Column 1, Tealbox Patch
l26(1v2)l_{\tealbox} - 2 \le 6(1 - v_{2\tealbox}) Column 2, Tealbox Patch
l36(1v3)l_{\tealbox} - 3 \le 6(1 - v_{3\tealbox}) Column 3, Tealbox Patch
l46(1v4)l_{\tealbox} - 4 \le 6(1 - v_{4\tealbox}) Column 4, Tealbox Patch
l56(1v5)l_{\tealbox} - 5 \le 6(1 - v_{5\tealbox}) Column 5, Tealbox Patch
l66(1v6)l_{\tealbox} - 6 \le 6(1 - v_{6\tealbox}) Column 6, Tealbox Patch
l16(1v1)l_{\purplebox} - 1 \le 6(1 - v_{1\purplebox}) Column 1, Purple Patch
l26(1v2)l_{\purplebox} - 2 \le 6(1 - v_{2\purplebox}) Column 2, Purple Patch
l36(1v3)l_{\purplebox} - 3 \le 6(1 - v_{3\purplebox}) Column 3, Purple Patch
l46(1v4)l_{\purplebox} - 4 \le 6(1 - v_{4\purplebox}) Column 4, Purple Patch
l56(1v5)l_{\purplebox} - 5 \le 6(1 - v_{5\purplebox}) Column 5, Purple Patch
l66(1v6)l_{\purplebox} - 6 \le 6(1 - v_{6\purplebox}) Column 6, Purple Patch
l16(1v1)l_{\greenbox} - 1 \le 6(1 - v_{1\greenbox}) Column 1, Green Patch
l26(1v2)l_{\greenbox} - 2 \le 6(1 - v_{2\greenbox}) Column 2, Green Patch
l36(1v3)l_{\greenbox} - 3 \le 6(1 - v_{3\greenbox}) Column 3, Green Patch
l46(1v4)l_{\greenbox} - 4 \le 6(1 - v_{4\greenbox}) Column 4, Green Patch
l56(1v5)l_{\greenbox} - 5 \le 6(1 - v_{5\greenbox}) Column 5, Green Patch
l66(1v6)l_{\greenbox} - 6 \le 6(1 - v_{6\greenbox}) Column 6, Green Patch
l16(1v1)l_{\orangebox} - 1 \le 6(1 - v_{1\orangebox}) Column 1, Orange Patch
l26(1v2)l_{\orangebox} - 2 \le 6(1 - v_{2\orangebox}) Column 2, Orange Patch
l36(1v3)l_{\orangebox} - 3 \le 6(1 - v_{3\orangebox}) Column 3, Orange Patch
l46(1v4)l_{\orangebox} - 4 \le 6(1 - v_{4\orangebox}) Column 4, Orange Patch
l56(1v5)l_{\orangebox} - 5 \le 6(1 - v_{5\orangebox}) Column 5, Orange Patch
l66(1v6)l_{\orangebox} - 6 \le 6(1 - v_{6\orangebox}) Column 6, Orange Patch
l16(1v1)l_{\redbox} - 1 \le 6(1 - v_{1\redbox}) Column 1, Red Patch
l26(1v2)l_{\redbox} - 2 \le 6(1 - v_{2\redbox}) Column 2, Red Patch
l36(1v3)l_{\redbox} - 3 \le 6(1 - v_{3\redbox}) Column 3, Red Patch
l46(1v4)l_{\redbox} - 4 \le 6(1 - v_{4\redbox}) Column 4, Red Patch
l56(1v5)l_{\redbox} - 5 \le 6(1 - v_{5\redbox}) Column 5, Red Patch
l66(1v6)l_{\redbox} - 6 \le 6(1 - v_{6\redbox}) Column 6, Red Patch
l16(1v1)l_{\bluebox} - 1 \le 6(1 - v_{1\bluebox}) Column 1, Blue Patch
l26(1v2)l_{\bluebox} - 2 \le 6(1 - v_{2\bluebox}) Column 2, Blue Patch
l36(1v3)l_{\bluebox} - 3 \le 6(1 - v_{3\bluebox}) Column 3, Blue Patch
l46(1v4)l_{\bluebox} - 4 \le 6(1 - v_{4\bluebox}) Column 4, Blue Patch
l56(1v5)l_{\bluebox} - 5 \le 6(1 - v_{5\bluebox}) Column 5, Blue Patch
l66(1v6)l_{\bluebox} - 6 \le 6(1 - v_{6\bluebox}) Column 6, Blue Patch
l16(1v1)l_{\magentabox} - 1 \le 6(1 - v_{1\magentabox}) Column 1, Magenta Patch
l26(1v2)l_{\magentabox} - 2 \le 6(1 - v_{2\magentabox}) Column 2, Magenta Patch
l36(1v3)l_{\magentabox} - 3 \le 6(1 - v_{3\magentabox}) Column 3, Magenta Patch
l46(1v4)l_{\magentabox} - 4 \le 6(1 - v_{4\magentabox}) Column 4, Magenta Patch
l56(1v5)l_{\magentabox} - 5 \le 6(1 - v_{5\magentabox}) Column 5, Magenta Patch
l66(1v6)l_{\magentabox} - 6 \le 6(1 - v_{6\magentabox}) Column 6, Magenta Patch
l16(1v1)l_{\brickbox} - 1 \le 6(1 - v_{1\brickbox}) Column 1, Brick Patch
l26(1v2)l_{\brickbox} - 2 \le 6(1 - v_{2\brickbox}) Column 2, Brick Patch
l36(1v3)l_{\brickbox} - 3 \le 6(1 - v_{3\brickbox}) Column 3, Brick Patch
l46(1v4)l_{\brickbox} - 4 \le 6(1 - v_{4\brickbox}) Column 4, Brick Patch
l56(1v5)l_{\brickbox} - 5 \le 6(1 - v_{5\brickbox}) Column 5, Brick Patch
l66(1v6)l_{\brickbox} - 6 \le 6(1 - v_{6\brickbox}) Column 6, Brick Patch
l16(1v1)l_{\brownbox} - 1 \le 6(1 - v_{1\brownbox}) Column 1, Brown Patch
l26(1v2)l_{\brownbox} - 2 \le 6(1 - v_{2\brownbox}) Column 2, Brown Patch
l36(1v3)l_{\brownbox} - 3 \le 6(1 - v_{3\brownbox}) Column 3, Brown Patch
l46(1v4)l_{\brownbox} - 4 \le 6(1 - v_{4\brownbox}) Column 4, Brown Patch
l56(1v5)l_{\brownbox} - 5 \le 6(1 - v_{5\brownbox}) Column 5, Brown Patch
l66(1v6)l_{\brownbox} - 6 \le 6(1 - v_{6\brownbox}) Column 6, Brown Patch
Right Boundary Constraints
1(l+w1)6(1v1)1 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{1\yellowbox}) Column 1, Yellow Patch
2(l+w1)6(1v2)2 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{2\yellowbox}) Column 2, Yellow Patch
3(l+w1)6(1v3)3 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{3\yellowbox}) Column 3, Yellow Patch
4(l+w1)6(1v4)4 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{4\yellowbox}) Column 4, Yellow Patch
5(l+w1)6(1v5)5 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{5\yellowbox}) Column 5, Yellow Patch
6(l+w1)6(1v6)6 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{6\yellowbox}) Column 6, Yellow Patch
1(l+w1)6(1v1)1 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{1\tealbox}) Column 1, Tealbox Patch
2(l+w1)6(1v2)2 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{2\tealbox}) Column 2, Tealbox Patch
3(l+w1)6(1v3)3 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{3\tealbox}) Column 3, Tealbox Patch
4(l+w1)6(1v4)4 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{4\tealbox}) Column 4, Tealbox Patch
5(l+w1)6(1v5)5 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{5\tealbox}) Column 5, Tealbox Patch
6(l+w1)6(1v6)6 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{6\tealbox}) Column 6, Tealbox Patch
1(l+w1)6(1v1)1 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{1\purplebox}) Column 1, Purple Patch
2(l+w1)6(1v2)2 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{2\purplebox}) Column 2, Purple Patch
3(l+w1)6(1v3)3 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{3\purplebox}) Column 3, Purple Patch
4(l+w1)6(1v4)4 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{4\purplebox}) Column 4, Purple Patch
5(l+w1)6(1v5)5 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{5\purplebox}) Column 5, Purple Patch
6(l+w1)6(1v6)6 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{6\purplebox}) Column 6, Purple Patch
1(l+w1)6(1v1)1 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{1\greenbox}) Column 1, Green Patch
2(l+w1)6(1v2)2 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{2\greenbox}) Column 2, Green Patch
3(l+w1)6(1v3)3 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{3\greenbox}) Column 3, Green Patch
4(l+w1)6(1v4)4 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{4\greenbox}) Column 4, Green Patch
5(l+w1)6(1v5)5 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{5\greenbox}) Column 5, Green Patch
6(l+w1)6(1v6)6 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{6\greenbox}) Column 6, Green Patch
1(l+w1)6(1v1)1 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{1\orangebox}) Column 1, Orange Patch
2(l+w1)6(1v2)2 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{2\orangebox}) Column 2, Orange Patch
3(l+w1)6(1v3)3 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{3\orangebox}) Column 3, Orange Patch
4(l+w1)6(1v4)4 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{4\orangebox}) Column 4, Orange Patch
5(l+w1)6(1v5)5 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{5\orangebox}) Column 5, Orange Patch
6(l+w1)6(1v6)6 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{6\orangebox}) Column 6, Orange Patch
1(l+w1)6(1v1)1 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{1\redbox}) Column 1, Red Patch
2(l+w1)6(1v2)2 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{2\redbox}) Column 2, Red Patch
3(l+w1)6(1v3)3 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{3\redbox}) Column 3, Red Patch
4(l+w1)6(1v4)4 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{4\redbox}) Column 4, Red Patch
5(l+w1)6(1v5)5 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{5\redbox}) Column 5, Red Patch
6(l+w1)6(1v6)6 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{6\redbox}) Column 6, Red Patch
1(l+w1)6(1v1)1 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{1\bluebox}) Column 1, Blue Patch
2(l+w1)6(1v2)2 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{2\bluebox}) Column 2, Blue Patch
3(l+w1)6(1v3)3 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{3\bluebox}) Column 3, Blue Patch
4(l+w1)6(1v4)4 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{4\bluebox}) Column 4, Blue Patch
5(l+w1)6(1v5)5 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{5\bluebox}) Column 5, Blue Patch
6(l+w1)6(1v6)6 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{6\bluebox}) Column 6, Blue Patch
1(l+w1)6(1v1)1 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{1\magentabox}) Column 1, Magenta Patch
2(l+w1)6(1v2)2 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{2\magentabox}) Column 2, Magenta Patch
3(l+w1)6(1v3)3 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{3\magentabox}) Column 3, Magenta Patch
4(l+w1)6(1v4)4 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{4\magentabox}) Column 4, Magenta Patch
5(l+w1)6(1v5)5 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{5\magentabox}) Column 5, Magenta Patch
6(l+w1)6(1v6)6 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{6\magentabox}) Column 6, Magenta Patch
1(l+w1)6(1v1)1 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{1\brickbox}) Column 1, Brick Patch
2(l+w1)6(1v2)2 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{2\brickbox}) Column 2, Brick Patch
3(l+w1)6(1v3)3 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{3\brickbox}) Column 3, Brick Patch
4(l+w1)6(1v4)4 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{4\brickbox}) Column 4, Brick Patch
5(l+w1)6(1v5)5 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{5\brickbox}) Column 5, Brick Patch
6(l+w1)6(1v6)6 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{6\brickbox}) Column 6, Brick Patch
1(l+w1)6(1v1)1 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{1\brownbox}) Column 1, Brown Patch
2(l+w1)6(1v2)2 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{2\brownbox}) Column 2, Brown Patch
3(l+w1)6(1v3)3 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{3\brownbox}) Column 3, Brown Patch
4(l+w1)6(1v4)4 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{4\brownbox}) Column 4, Brown Patch
5(l+w1)6(1v5)5 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{5\brownbox}) Column 5, Brown Patch
6(l+w1)6(1v6)6 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{6\brownbox}) Column 6, Brown Patch
Height Constraints
u1+u2+u3+u4+u5+u6=hu_{1\yellowbox} + u_{2\yellowbox} + u_{3\yellowbox} + u_{4\yellowbox} + u_{5\yellowbox} + u_{6\yellowbox} = h_{\yellowbox} Yellow Patch_
u1+u2+u3+u4+u5+u6=hu_{1\tealbox} + u_{2\tealbox} + u_{3\tealbox} + u_{4\tealbox} + u_{5\tealbox} + u_{6\tealbox} = h_{\tealbox} Teal Patch_
u1+u2+u3+u4+u5+u6=hu_{1\purplebox} + u_{2\purplebox} + u_{3\purplebox} + u_{4\purplebox} + u_{5\purplebox} + u_{6\purplebox} = h_{\purplebox} Purple Patch_
u1+u2+u3+u4+u5+u6=hu_{1\greenbox} + u_{2\greenbox} + u_{3\greenbox} + u_{4\greenbox} + u_{5\greenbox} + u_{6\greenbox} = h_{\greenbox} Green Patch_
u1+u2+u3+u4+u5+u6=hu_{1\orangebox} + u_{2\orangebox} + u_{3\orangebox} + u_{4\orangebox} + u_{5\orangebox} + u_{6\orangebox} = h_{\orangebox} Orange Patch_
u1+u2+u3+u4+u5+u6=hu_{1\redbox} + u_{2\redbox} + u_{3\redbox} + u_{4\redbox} + u_{5\redbox} + u_{6\redbox} = h_{\redbox} Red Patch_
u1+u2+u3+u4+u5+u6=hu_{1\bluebox} + u_{2\bluebox} + u_{3\bluebox} + u_{4\bluebox} + u_{5\bluebox} + u_{6\bluebox} = h_{\bluebox} Blue Patch_
u1+u2+u3+u4+u5+u6=hu_{1\magentabox} + u_{2\magentabox} + u_{3\magentabox} + u_{4\magentabox} + u_{5\magentabox} + u_{6\magentabox} = h_{\magentabox} Magenta Patch_
u1+u2+u3+u4+u5+u6=hu_{1\brickbox} + u_{2\brickbox} + u_{3\brickbox} + u_{4\brickbox} + u_{5\brickbox} + u_{6\brickbox} = h_{\brickbox} Brick Patch_
u1+u2+u3+u4+u5+u6=hu_{1\brownbox} + u_{2\brownbox} + u_{3\brownbox} + u_{4\brownbox} + u_{5\brownbox} + u_{6\brownbox} = h_{\brownbox} Brown Patch_
Width Constraints
v1+v2+v3+v4+v5+v6=wv_{1\yellowbox} + v_{2\yellowbox} + v_{3\yellowbox} + v_{4\yellowbox} + v_{5\yellowbox} + v_{6\yellowbox} = w_{\yellowbox} Yellow Patch_
v1+v2+v3+v4+v5+v6=wv_{1\tealbox} + v_{2\tealbox} + v_{3\tealbox} + v_{4\tealbox} + v_{5\tealbox} + v_{6\tealbox} = w_{\tealbox} Teal Patch_
v1+v2+v3+v4+v5+v6=wv_{1\purplebox} + v_{2\purplebox} + v_{3\purplebox} + v_{4\purplebox} + v_{5\purplebox} + v_{6\purplebox} = w_{\purplebox} Purple Patch_
v1+v2+v3+v4+v5+v6=wv_{1\greenbox} + v_{2\greenbox} + v_{3\greenbox} + v_{4\greenbox} + v_{5\greenbox} + v_{6\greenbox} = w_{\greenbox} Green Patch_
v1+v2+v3+v4+v5+v6=wv_{1\orangebox} + v_{2\orangebox} + v_{3\orangebox} + v_{4\orangebox} + v_{5\orangebox} + v_{6\orangebox} = w_{\orangebox} Orange Patch_
v1+v2+v3+v4+v5+v6=wv_{1\redbox} + v_{2\redbox} + v_{3\redbox} + v_{4\redbox} + v_{5\redbox} + v_{6\redbox} = w_{\redbox} Red Patch_
v1+v2+v3+v4+v5+v6=wv_{1\bluebox} + v_{2\bluebox} + v_{3\bluebox} + v_{4\bluebox} + v_{5\bluebox} + v_{6\bluebox} = w_{\bluebox} Blue Patch_
v1+v2+v3+v4+v5+v6=wv_{1\magentabox} + v_{2\magentabox} + v_{3\magentabox} + v_{4\magentabox} + v_{5\magentabox} + v_{6\magentabox} = w_{\magentabox} Magenta Patch_
v1+v2+v3+v4+v5+v6=wv_{1\brickbox} + v_{2\brickbox} + v_{3\brickbox} + v_{4\brickbox} + v_{5\brickbox} + v_{6\brickbox} = w_{\brickbox} Brick Patch_
v1+v2+v3+v4+v5+v6=wv_{1\brownbox} + v_{2\brownbox} + v_{3\brownbox} + v_{4\brownbox} + v_{5\brownbox} + v_{6\brownbox} = w_{\brownbox} Brown Patch_
Cutout-Rows Constraints
x11+x12+x13+x14+x15+x166u1x_{11\yellowbox} + x_{12\yellowbox} + x_{13\yellowbox} + x_{14\yellowbox} + x_{15\yellowbox} + x_{16\yellowbox} \le 6u_{1\yellowbox} Row 1, Yellow Patch
x21+x22+x23+x24+x25+x266u2x_{21\yellowbox} + x_{22\yellowbox} + x_{23\yellowbox} + x_{24\yellowbox} + x_{25\yellowbox} + x_{26\yellowbox} \le 6u_{2\yellowbox} Row 2, Yellow Patch
x31+x32+x33+x34+x35+x366u3x_{31\yellowbox} + x_{32\yellowbox} + x_{33\yellowbox} + x_{34\yellowbox} + x_{35\yellowbox} + x_{36\yellowbox} \le 6u_{3\yellowbox} Row 3, Yellow Patch
x41+x42+x43+x44+x45+x466u4x_{41\yellowbox} + x_{42\yellowbox} + x_{43\yellowbox} + x_{44\yellowbox} + x_{45\yellowbox} + x_{46\yellowbox} \le 6u_{4\yellowbox} Row 4, Yellow Patch
x51+x52+x53+x54+x55+x566u5x_{51\yellowbox} + x_{52\yellowbox} + x_{53\yellowbox} + x_{54\yellowbox} + x_{55\yellowbox} + x_{56\yellowbox} \le 6u_{5\yellowbox} Row 5, Yellow Patch
x61+x62+x63+x64+x65+x666u6x_{61\yellowbox} + x_{62\yellowbox} + x_{63\yellowbox} + x_{64\yellowbox} + x_{65\yellowbox} + x_{66\yellowbox} \le 6u_{6\yellowbox} Row 6, Yellow Patch
x11+x12+x13+x14+x15+x166u1x_{11\tealbox} + x_{12\tealbox} + x_{13\tealbox} + x_{14\tealbox} + x_{15\tealbox} + x_{16\tealbox} \le 6u_{1\tealbox} Row 1, Teal
x21+x22+x23+x24+x25+x266u2x_{21\tealbox} + x_{22\tealbox} + x_{23\tealbox} + x_{24\tealbox} + x_{25\tealbox} + x_{26\tealbox} \le 6u_{2\tealbox} Row 2, Teal
x31+x32+x33+x34+x35+x366u3x_{31\tealbox} + x_{32\tealbox} + x_{33\tealbox} + x_{34\tealbox} + x_{35\tealbox} + x_{36\tealbox} \le 6u_{3\tealbox} Row 3, Teal
x41+x42+x43+x44+x45+x466u4x_{41\tealbox} + x_{42\tealbox} + x_{43\tealbox} + x_{44\tealbox} + x_{45\tealbox} + x_{46\tealbox} \le 6u_{4\tealbox} Row 4, Teal
x51+x52+x53+x54+x55+x566u5x_{51\tealbox} + x_{52\tealbox} + x_{53\tealbox} + x_{54\tealbox} + x_{55\tealbox} + x_{56\tealbox} \le 6u_{5\tealbox} Row 5, Teal
x61+x62+x63+x64+x65+x666u6x_{61\tealbox} + x_{62\tealbox} + x_{63\tealbox} + x_{64\tealbox} + x_{65\tealbox} + x_{66\tealbox} \le 6u_{6\tealbox} Row 6, Teal
x11+x12+x13+x14+x15+x166u1x_{11\purplebox} + x_{12\purplebox} + x_{13\purplebox} + x_{14\purplebox} + x_{15\purplebox} + x_{16\purplebox} \le 6u_{1\purplebox} Row 1, Purple Patch
x21+x22+x23+x24+x25+x266u2x_{21\purplebox} + x_{22\purplebox} + x_{23\purplebox} + x_{24\purplebox} + x_{25\purplebox} + x_{26\purplebox} \le 6u_{2\purplebox} Row 2, Purple Patch
x31+x32+x33+x34+x35+x366u3x_{31\purplebox} + x_{32\purplebox} + x_{33\purplebox} + x_{34\purplebox} + x_{35\purplebox} + x_{36\purplebox} \le 6u_{3\purplebox} Row 3, Purple Patch
x41+x42+x43+x44+x45+x466u4x_{41\purplebox} + x_{42\purplebox} + x_{43\purplebox} + x_{44\purplebox} + x_{45\purplebox} + x_{46\purplebox} \le 6u_{4\purplebox} Row 4, Purple Patch
x51+x52+x53+x54+x55+x566u5x_{51\purplebox} + x_{52\purplebox} + x_{53\purplebox} + x_{54\purplebox} + x_{55\purplebox} + x_{56\purplebox} \le 6u_{5\purplebox} Row 5, Purple Patch
x61+x62+x63+x64+x65+x666u6x_{61\purplebox} + x_{62\purplebox} + x_{63\purplebox} + x_{64\purplebox} + x_{65\purplebox} + x_{66\purplebox} \le 6u_{6\purplebox} Row 6, Purple Patch
x11+x12+x13+x14+x15+x166u1x_{11\greenbox} + x_{12\greenbox} + x_{13\greenbox} + x_{14\greenbox} + x_{15\greenbox} + x_{16\greenbox} \le 6u_{1\greenbox} Row 1, Green Patch
x21+x22+x23+x24+x25+x266u2x_{21\greenbox} + x_{22\greenbox} + x_{23\greenbox} + x_{24\greenbox} + x_{25\greenbox} + x_{26\greenbox} \le 6u_{2\greenbox} Row 2, Green Patch
x31+x32+x33+x34+x35+x366u3x_{31\greenbox} + x_{32\greenbox} + x_{33\greenbox} + x_{34\greenbox} + x_{35\greenbox} + x_{36\greenbox} \le 6u_{3\greenbox} Row 3, Green Patch
x41+x42+x43+x44+x45+x466u4x_{41\greenbox} + x_{42\greenbox} + x_{43\greenbox} + x_{44\greenbox} + x_{45\greenbox} + x_{46\greenbox} \le 6u_{4\greenbox} Row 4, Green Patch
x51+x52+x53+x54+x55+x566u5x_{51\greenbox} + x_{52\greenbox} + x_{53\greenbox} + x_{54\greenbox} + x_{55\greenbox} + x_{56\greenbox} \le 6u_{5\greenbox} Row 5, Green Patch
x61+x62+x63+x64+x65+x666u6x_{61\greenbox} + x_{62\greenbox} + x_{63\greenbox} + x_{64\greenbox} + x_{65\greenbox} + x_{66\greenbox} \le 6u_{6\greenbox} Row 6, Green Patch
x11+x12+x13+x14+x15+x166u1x_{11\orangebox} + x_{12\orangebox} + x_{13\orangebox} + x_{14\orangebox} + x_{15\orangebox} + x_{16\orangebox} \le 6u_{1\orangebox} Row 1, Orange Patch
x21+x22+x23+x24+x25+x266u2x_{21\orangebox} + x_{22\orangebox} + x_{23\orangebox} + x_{24\orangebox} + x_{25\orangebox} + x_{26\orangebox} \le 6u_{2\orangebox} Row 2, Orange Patch
x31+x32+x33+x34+x35+x366u3x_{31\orangebox} + x_{32\orangebox} + x_{33\orangebox} + x_{34\orangebox} + x_{35\orangebox} + x_{36\orangebox} \le 6u_{3\orangebox} Row 3, Orange Patch
x41+x42+x43+x44+x45+x466u4x_{41\orangebox} + x_{42\orangebox} + x_{43\orangebox} + x_{44\orangebox} + x_{45\orangebox} + x_{46\orangebox} \le 6u_{4\orangebox} Row 4, Orange Patch
x51+x52+x53+x54+x55+x566u5x_{51\orangebox} + x_{52\orangebox} + x_{53\orangebox} + x_{54\orangebox} + x_{55\orangebox} + x_{56\orangebox} \le 6u_{5\orangebox} Row 5, Orange Patch
x61+x62+x63+x64+x65+x666u6x_{61\orangebox} + x_{62\orangebox} + x_{63\orangebox} + x_{64\orangebox} + x_{65\orangebox} + x_{66\orangebox} \le 6u_{6\orangebox} Row 6, Orange Patch
x11+x12+x13+x14+x15+x166u1x_{11\redbox} + x_{12\redbox} + x_{13\redbox} + x_{14\redbox} + x_{15\redbox} + x_{16\redbox} \le 6u_{1\redbox} Row 1, Red Patch
x21+x22+x23+x24+x25+x266u2x_{21\redbox} + x_{22\redbox} + x_{23\redbox} + x_{24\redbox} + x_{25\redbox} + x_{26\redbox} \le 6u_{2\redbox} Row 2, Red Patch
x31+x32+x33+x34+x35+x366u3x_{31\redbox} + x_{32\redbox} + x_{33\redbox} + x_{34\redbox} + x_{35\redbox} + x_{36\redbox} \le 6u_{3\redbox} Row 3, Red Patch
x41+x42+x43+x44+x45+x466u4x_{41\redbox} + x_{42\redbox} + x_{43\redbox} + x_{44\redbox} + x_{45\redbox} + x_{46\redbox} \le 6u_{4\redbox} Row 4, Red Patch
x51+x52+x53+x54+x55+x566u5x_{51\redbox} + x_{52\redbox} + x_{53\redbox} + x_{54\redbox} + x_{55\redbox} + x_{56\redbox} \le 6u_{5\redbox} Row 5, Red Patch
x61+x62+x63+x64+x65+x666u6x_{61\redbox} + x_{62\redbox} + x_{63\redbox} + x_{64\redbox} + x_{65\redbox} + x_{66\redbox} \le 6u_{6\redbox} Row 6, Red Patch
x11+x12+x13+x14+x15+x166u1x_{11\bluebox} + x_{12\bluebox} + x_{13\bluebox} + x_{14\bluebox} + x_{15\bluebox} + x_{16\bluebox} \le 6u_{1\bluebox} Row 1, Blue Patch
x21+x22+x23+x24+x25+x266u2x_{21\bluebox} + x_{22\bluebox} + x_{23\bluebox} + x_{24\bluebox} + x_{25\bluebox} + x_{26\bluebox} \le 6u_{2\bluebox} Row 2, Blue Patch
x31+x32+x33+x34+x35+x366u3x_{31\bluebox} + x_{32\bluebox} + x_{33\bluebox} + x_{34\bluebox} + x_{35\bluebox} + x_{36\bluebox} \le 6u_{3\bluebox} Row 3, Blue Patch
x41+x42+x43+x44+x45+x466u4x_{41\bluebox} + x_{42\bluebox} + x_{43\bluebox} + x_{44\bluebox} + x_{45\bluebox} + x_{46\bluebox} \le 6u_{4\bluebox} Row 4, Blue Patch
x51+x52+x53+x54+x55+x566u5x_{51\bluebox} + x_{52\bluebox} + x_{53\bluebox} + x_{54\bluebox} + x_{55\bluebox} + x_{56\bluebox} \le 6u_{5\bluebox} Row 5, Blue Patch
x61+x62+x63+x64+x65+x666u6x_{61\bluebox} + x_{62\bluebox} + x_{63\bluebox} + x_{64\bluebox} + x_{65\bluebox} + x_{66\bluebox} \le 6u_{6\bluebox} Row 6, Blue Patch
x11+x12+x13+x14+x15+x166u1x_{11\magentabox} + x_{12\magentabox} + x_{13\magentabox} + x_{14\magentabox} + x_{15\magentabox} + x_{16\magentabox} \le 6u_{1\magentabox} Row 1, Magenta Patch
x21+x22+x23+x24+x25+x266u2x_{21\magentabox} + x_{22\magentabox} + x_{23\magentabox} + x_{24\magentabox} + x_{25\magentabox} + x_{26\magentabox} \le 6u_{2\magentabox} Row 2, Magenta Patch
x31+x32+x33+x34+x35+x366u3x_{31\magentabox} + x_{32\magentabox} + x_{33\magentabox} + x_{34\magentabox} + x_{35\magentabox} + x_{36\magentabox} \le 6u_{3\magentabox} Row 3, Magenta Patch
x41+x42+x43+x44+x45+x466u4x_{41\magentabox} + x_{42\magentabox} + x_{43\magentabox} + x_{44\magentabox} + x_{45\magentabox} + x_{46\magentabox} \le 6u_{4\magentabox} Row 4, Magenta Patch
x51+x52+x53+x54+x55+x566u5x_{51\magentabox} + x_{52\magentabox} + x_{53\magentabox} + x_{54\magentabox} + x_{55\magentabox} + x_{56\magentabox} \le 6u_{5\magentabox} Row 5, Magenta Patch
x61+x62+x63+x64+x65+x666u6x_{61\magentabox} + x_{62\magentabox} + x_{63\magentabox} + x_{64\magentabox} + x_{65\magentabox} + x_{66\magentabox} \le 6u_{6\magentabox} Row 6, Magenta Patch
x11+x12+x13+x14+x15+x166u1x_{11\brickbox} + x_{12\brickbox} + x_{13\brickbox} + x_{14\brickbox} + x_{15\brickbox} + x_{16\brickbox} \le 6u_{1\brickbox} Row 1, Brick Patch
x21+x22+x23+x24+x25+x266u2x_{21\brickbox} + x_{22\brickbox} + x_{23\brickbox} + x_{24\brickbox} + x_{25\brickbox} + x_{26\brickbox} \le 6u_{2\brickbox} Row 2, Brick Patch
x31+x32+x33+x34+x35+x366u3x_{31\brickbox} + x_{32\brickbox} + x_{33\brickbox} + x_{34\brickbox} + x_{35\brickbox} + x_{36\brickbox} \le 6u_{3\brickbox} Row 3, Brick Patch
x41+x42+x43+x44+x45+x466u4x_{41\brickbox} + x_{42\brickbox} + x_{43\brickbox} + x_{44\brickbox} + x_{45\brickbox} + x_{46\brickbox} \le 6u_{4\brickbox} Row 4, Brick Patch
x51+x52+x53+x54+x55+x566u5x_{51\brickbox} + x_{52\brickbox} + x_{53\brickbox} + x_{54\brickbox} + x_{55\brickbox} + x_{56\brickbox} \le 6u_{5\brickbox} Row 5, Brick Patch
x61+x62+x63+x64+x65+x666u6x_{61\brickbox} + x_{62\brickbox} + x_{63\brickbox} + x_{64\brickbox} + x_{65\brickbox} + x_{66\brickbox} \le 6u_{6\brickbox} Row 6, Brick Patch
x11+x12+x13+x14+x15+x166u1x_{11\brownbox} + x_{12\brownbox} + x_{13\brownbox} + x_{14\brownbox} + x_{15\brownbox} + x_{16\brownbox} \le 6u_{1\brownbox} Row 1, Brown Patch
x21+x22+x23+x24+x25+x266u2x_{21\brownbox} + x_{22\brownbox} + x_{23\brownbox} + x_{24\brownbox} + x_{25\brownbox} + x_{26\brownbox} \le 6u_{2\brownbox} Row 2, Brown Patch
x31+x32+x33+x34+x35+x366u3x_{31\brownbox} + x_{32\brownbox} + x_{33\brownbox} + x_{34\brownbox} + x_{35\brownbox} + x_{36\brownbox} \le 6u_{3\brownbox} Row 3, Brown Patch
x41+x42+x43+x44+x45+x466u4x_{41\brownbox} + x_{42\brownbox} + x_{43\brownbox} + x_{44\brownbox} + x_{45\brownbox} + x_{46\brownbox} \le 6u_{4\brownbox} Row 4, Brown Patch
x51+x52+x53+x54+x55+x566u5x_{51\brownbox} + x_{52\brownbox} + x_{53\brownbox} + x_{54\brownbox} + x_{55\brownbox} + x_{56\brownbox} \le 6u_{5\brownbox} Row 5, Brown Patch
x61+x62+x63+x64+x65+x666u6x_{61\brownbox} + x_{62\brownbox} + x_{63\brownbox} + x_{64\brownbox} + x_{65\brownbox} + x_{66\brownbox} \le 6u_{6\brownbox} Row 6, Brown Patch
Cutout-Columns Constraints
x11+x21+x31+x41+x51+x616v1x_{11\yellowbox} + x_{21\yellowbox} + x_{31\yellowbox} + x_{41\yellowbox} + x_{51\yellowbox} + x_{61\yellowbox} \le 6v_{1\yellowbox} Column 1, Yellow Patch
x12+x22+x32+x42+x52+x626v2x_{12\yellowbox} + x_{22\yellowbox} + x_{32\yellowbox} + x_{42\yellowbox} + x_{52\yellowbox} + x_{62\yellowbox} \le 6v_{2\yellowbox} Column 2, Yellow Patch
x13+x23+x33+x43+x53+x636v3x_{13\yellowbox} + x_{23\yellowbox} + x_{33\yellowbox} + x_{43\yellowbox} + x_{53\yellowbox} + x_{63\yellowbox} \le 6v_{3\yellowbox} Column 3, Yellow Patch
x14+x24+x34+x44+x54+x646v4x_{14\yellowbox} + x_{24\yellowbox} + x_{34\yellowbox} + x_{44\yellowbox} + x_{54\yellowbox} + x_{64\yellowbox} \le 6v_{4\yellowbox} Column 4, Yellow Patch
x15+x25+x35+x45+x55+x656v5x_{15\yellowbox} + x_{25\yellowbox} + x_{35\yellowbox} + x_{45\yellowbox} + x_{55\yellowbox} + x_{65\yellowbox} \le 6v_{5\yellowbox} Column 5, Yellow Patch
x16+x26+x36+x46+x56+x666v6x_{16\yellowbox} + x_{26\yellowbox} + x_{36\yellowbox} + x_{46\yellowbox} + x_{56\yellowbox} + x_{66\yellowbox} \le 6v_{6\yellowbox} Column 6, Yellow Patch
x11+x21+x31+x41+x51+x616v1x_{11\tealbox} + x_{21\tealbox} + x_{31\tealbox} + x_{41\tealbox} + x_{51\tealbox} + x_{61\tealbox} \le 6v_{1\tealbox} Column 1, Teal
x12+x22+x32+x42+x52+x626v2x_{12\tealbox} + x_{22\tealbox} + x_{32\tealbox} + x_{42\tealbox} + x_{52\tealbox} + x_{62\tealbox} \le 6v_{2\tealbox} Column 2, Teal
x13+x23+x33+x43+x53+x636v3x_{13\tealbox} + x_{23\tealbox} + x_{33\tealbox} + x_{43\tealbox} + x_{53\tealbox} + x_{63\tealbox} \le 6v_{3\tealbox} Column 3, Teal
x14+x24+x34+x44+x54+x646v4x_{14\tealbox} + x_{24\tealbox} + x_{34\tealbox} + x_{44\tealbox} + x_{54\tealbox} + x_{64\tealbox} \le 6v_{4\tealbox} Column 4, Teal
x15+x25+x35+x45+x55+x656v5x_{15\tealbox} + x_{25\tealbox} + x_{35\tealbox} + x_{45\tealbox} + x_{55\tealbox} + x_{65\tealbox} \le 6v_{5\tealbox} Column 5, Teal
x16+x26+x36+x46+x56+x666v6x_{16\tealbox} + x_{26\tealbox} + x_{36\tealbox} + x_{46\tealbox} + x_{56\tealbox} + x_{66\tealbox} \le 6v_{6\tealbox} Column 6, Teal
x11+x21+x31+x41+x51+x616v1x_{11\purplebox} + x_{21\purplebox} + x_{31\purplebox} + x_{41\purplebox} + x_{51\purplebox} + x_{61\purplebox} \le 6v_{1\purplebox} Column 1, Purple Patch
x12+x22+x32+x42+x52+x626v2x_{12\purplebox} + x_{22\purplebox} + x_{32\purplebox} + x_{42\purplebox} + x_{52\purplebox} + x_{62\purplebox} \le 6v_{2\purplebox} Column 2, Purple Patch
x13+x23+x33+x43+x53+x636v3x_{13\purplebox} + x_{23\purplebox} + x_{33\purplebox} + x_{43\purplebox} + x_{53\purplebox} + x_{63\purplebox} \le 6v_{3\purplebox} Column 3, Purple Patch
x14+x24+x34+x44+x54+x646v4x_{14\purplebox} + x_{24\purplebox} + x_{34\purplebox} + x_{44\purplebox} + x_{54\purplebox} + x_{64\purplebox} \le 6v_{4\purplebox} Column 4, Purple Patch
x15+x25+x35+x45+x55+x656v5x_{15\purplebox} + x_{25\purplebox} + x_{35\purplebox} + x_{45\purplebox} + x_{55\purplebox} + x_{65\purplebox} \le 6v_{5\purplebox} Column 5, Purple Patch
x16+x26+x36+x46+x56+x666v6x_{16\purplebox} + x_{26\purplebox} + x_{36\purplebox} + x_{46\purplebox} + x_{56\purplebox} + x_{66\purplebox} \le 6v_{6\purplebox} Column 6, Purple Patch
x11+x21+x31+x41+x51+x616v1x_{11\greenbox} + x_{21\greenbox} + x_{31\greenbox} + x_{41\greenbox} + x_{51\greenbox} + x_{61\greenbox} \le 6v_{1\greenbox} Column 1, Green Patch
x12+x22+x32+x42+x52+x626v2x_{12\greenbox} + x_{22\greenbox} + x_{32\greenbox} + x_{42\greenbox} + x_{52\greenbox} + x_{62\greenbox} \le 6v_{2\greenbox} Column 2, Green Patch
x13+x23+x33+x43+x53+x636v3x_{13\greenbox} + x_{23\greenbox} + x_{33\greenbox} + x_{43\greenbox} + x_{53\greenbox} + x_{63\greenbox} \le 6v_{3\greenbox} Column 3, Green Patch
x14+x24+x34+x44+x54+x646v4x_{14\greenbox} + x_{24\greenbox} + x_{34\greenbox} + x_{44\greenbox} + x_{54\greenbox} + x_{64\greenbox} \le 6v_{4\greenbox} Column 4, Green Patch
x15+x25+x35+x45+x55+x656v5x_{15\greenbox} + x_{25\greenbox} + x_{35\greenbox} + x_{45\greenbox} + x_{55\greenbox} + x_{65\greenbox} \le 6v_{5\greenbox} Column 5, Green Patch
x16+x26+x36+x46+x56+x666v6x_{16\greenbox} + x_{26\greenbox} + x_{36\greenbox} + x_{46\greenbox} + x_{56\greenbox} + x_{66\greenbox} \le 6v_{6\greenbox} Column 6, Green Patch
x11+x21+x31+x41+x51+x616v1x_{11\orangebox} + x_{21\orangebox} + x_{31\orangebox} + x_{41\orangebox} + x_{51\orangebox} + x_{61\orangebox} \le 6v_{1\orangebox} Column 1, Orange Patch
x12+x22+x32+x42+x52+x626v2x_{12\orangebox} + x_{22\orangebox} + x_{32\orangebox} + x_{42\orangebox} + x_{52\orangebox} + x_{62\orangebox} \le 6v_{2\orangebox} Column 2, Orange Patch
x13+x23+x33+x43+x53+x636v3x_{13\orangebox} + x_{23\orangebox} + x_{33\orangebox} + x_{43\orangebox} + x_{53\orangebox} + x_{63\orangebox} \le 6v_{3\orangebox} Column 3, Orange Patch
x14+x24+x34+x44+x54+x646v4x_{14\orangebox} + x_{24\orangebox} + x_{34\orangebox} + x_{44\orangebox} + x_{54\orangebox} + x_{64\orangebox} \le 6v_{4\orangebox} Column 4, Orange Patch
x15+x25+x35+x45+x55+x656v5x_{15\orangebox} + x_{25\orangebox} + x_{35\orangebox} + x_{45\orangebox} + x_{55\orangebox} + x_{65\orangebox} \le 6v_{5\orangebox} Column 5, Orange Patch
x16+x26+x36+x46+x56+x666v6x_{16\orangebox} + x_{26\orangebox} + x_{36\orangebox} + x_{46\orangebox} + x_{56\orangebox} + x_{66\orangebox} \le 6v_{6\orangebox} Column 6, Orange Patch
x11+x21+x31+x41+x51+x616v1x_{11\redbox} + x_{21\redbox} + x_{31\redbox} + x_{41\redbox} + x_{51\redbox} + x_{61\redbox} \le 6v_{1\redbox} Column 1, Red Patch
x12+x22+x32+x42+x52+x626v2x_{12\redbox} + x_{22\redbox} + x_{32\redbox} + x_{42\redbox} + x_{52\redbox} + x_{62\redbox} \le 6v_{2\redbox} Column 2, Red Patch
x13+x23+x33+x43+x53+x636v3x_{13\redbox} + x_{23\redbox} + x_{33\redbox} + x_{43\redbox} + x_{53\redbox} + x_{63\redbox} \le 6v_{3\redbox} Column 3, Red Patch
x14+x24+x34+x44+x54+x646v4x_{14\redbox} + x_{24\redbox} + x_{34\redbox} + x_{44\redbox} + x_{54\redbox} + x_{64\redbox} \le 6v_{4\redbox} Column 4, Red Patch
x15+x25+x35+x45+x55+x656v5x_{15\redbox} + x_{25\redbox} + x_{35\redbox} + x_{45\redbox} + x_{55\redbox} + x_{65\redbox} \le 6v_{5\redbox} Column 5, Red Patch
x16+x26+x36+x46+x56+x666v6x_{16\redbox} + x_{26\redbox} + x_{36\redbox} + x_{46\redbox} + x_{56\redbox} + x_{66\redbox} \le 6v_{6\redbox} Column 6, Red Patch
x11+x21+x31+x41+x51+x616v1x_{11\bluebox} + x_{21\bluebox} + x_{31\bluebox} + x_{41\bluebox} + x_{51\bluebox} + x_{61\bluebox} \le 6v_{1\bluebox} Column 1, Blue Patch
x12+x22+x32+x42+x52+x626v2x_{12\bluebox} + x_{22\bluebox} + x_{32\bluebox} + x_{42\bluebox} + x_{52\bluebox} + x_{62\bluebox} \le 6v_{2\bluebox} Column 2, Blue Patch
x13+x23+x33+x43+x53+x636v3x_{13\bluebox} + x_{23\bluebox} + x_{33\bluebox} + x_{43\bluebox} + x_{53\bluebox} + x_{63\bluebox} \le 6v_{3\bluebox} Column 3, Blue Patch
x14+x24+x34+x44+x54+x646v4x_{14\bluebox} + x_{24\bluebox} + x_{34\bluebox} + x_{44\bluebox} + x_{54\bluebox} + x_{64\bluebox} \le 6v_{4\bluebox} Column 4, Blue Patch
x15+x25+x35+x45+x55+x656v5x_{15\bluebox} + x_{25\bluebox} + x_{35\bluebox} + x_{45\bluebox} + x_{55\bluebox} + x_{65\bluebox} \le 6v_{5\bluebox} Column 5, Blue Patch
x16+x26+x36+x46+x56+x666v6x_{16\bluebox} + x_{26\bluebox} + x_{36\bluebox} + x_{46\bluebox} + x_{56\bluebox} + x_{66\bluebox} \le 6v_{6\bluebox} Column 6, Blue Patch
x11+x21+x31+x41+x51+x616v1x_{11\magentabox} + x_{21\magentabox} + x_{31\magentabox} + x_{41\magentabox} + x_{51\magentabox} + x_{61\magentabox} \le 6v_{1\magentabox} Column 1, Magenta Patch
x12+x22+x32+x42+x52+x626v2x_{12\magentabox} + x_{22\magentabox} + x_{32\magentabox} + x_{42\magentabox} + x_{52\magentabox} + x_{62\magentabox} \le 6v_{2\magentabox} Column 2, Magenta Patch
x13+x23+x33+x43+x53+x636v3x_{13\magentabox} + x_{23\magentabox} + x_{33\magentabox} + x_{43\magentabox} + x_{53\magentabox} + x_{63\magentabox} \le 6v_{3\magentabox} Column 3, Magenta Patch
x14+x24+x34+x44+x54+x646v4x_{14\magentabox} + x_{24\magentabox} + x_{34\magentabox} + x_{44\magentabox} + x_{54\magentabox} + x_{64\magentabox} \le 6v_{4\magentabox} Column 4, Magenta Patch
x15+x25+x35+x45+x55+x656v5x_{15\magentabox} + x_{25\magentabox} + x_{35\magentabox} + x_{45\magentabox} + x_{55\magentabox} + x_{65\magentabox} \le 6v_{5\magentabox} Column 5, Magenta Patch
x16+x26+x36+x46+x56+x666v6x_{16\magentabox} + x_{26\magentabox} + x_{36\magentabox} + x_{46\magentabox} + x_{56\magentabox} + x_{66\magentabox} \le 6v_{6\magentabox} Column 6, Magenta Patch
x11+x21+x31+x41+x51+x616v1x_{11\brickbox} + x_{21\brickbox} + x_{31\brickbox} + x_{41\brickbox} + x_{51\brickbox} + x_{61\brickbox} \le 6v_{1\brickbox} Column 1, Brick Patch
x12+x22+x32+x42+x52+x626v2x_{12\brickbox} + x_{22\brickbox} + x_{32\brickbox} + x_{42\brickbox} + x_{52\brickbox} + x_{62\brickbox} \le 6v_{2\brickbox} Column 2, Brick Patch
x13+x23+x33+x43+x53+x636v3x_{13\brickbox} + x_{23\brickbox} + x_{33\brickbox} + x_{43\brickbox} + x_{53\brickbox} + x_{63\brickbox} \le 6v_{3\brickbox} Column 3, Brick Patch
x14+x24+x34+x44+x54+x646v4x_{14\brickbox} + x_{24\brickbox} + x_{34\brickbox} + x_{44\brickbox} + x_{54\brickbox} + x_{64\brickbox} \le 6v_{4\brickbox} Column 4, Brick Patch
x15+x25+x35+x45+x55+x656v5x_{15\brickbox} + x_{25\brickbox} + x_{35\brickbox} + x_{45\brickbox} + x_{55\brickbox} + x_{65\brickbox} \le 6v_{5\brickbox} Column 5, Brick Patch
x16+x26+x36+x46+x56+x666v6x_{16\brickbox} + x_{26\brickbox} + x_{36\brickbox} + x_{46\brickbox} + x_{56\brickbox} + x_{66\brickbox} \le 6v_{6\brickbox} Column 6, Brick Patch
x11+x21+x31+x41+x51+x616v1x_{11\brownbox} + x_{21\brownbox} + x_{31\brownbox} + x_{41\brownbox} + x_{51\brownbox} + x_{61\brownbox} \le 6v_{1\brownbox} Column 1, Brown Patch
x12+x22+x32+x42+x52+x626v2x_{12\brownbox} + x_{22\brownbox} + x_{32\brownbox} + x_{42\brownbox} + x_{52\brownbox} + x_{62\brownbox} \le 6v_{2\brownbox} Column 2, Brown Patch
x13+x23+x33+x43+x53+x636v3x_{13\brownbox} + x_{23\brownbox} + x_{33\brownbox} + x_{43\brownbox} + x_{53\brownbox} + x_{63\brownbox} \le 6v_{3\brownbox} Column 3, Brown Patch
x14+x24+x34+x44+x54+x646v4x_{14\brownbox} + x_{24\brownbox} + x_{34\brownbox} + x_{44\brownbox} + x_{54\brownbox} + x_{64\brownbox} \le 6v_{4\brownbox} Column 4, Brown Patch
x15+x25+x35+x45+x55+x656v5x_{15\brownbox} + x_{25\brownbox} + x_{35\brownbox} + x_{45\brownbox} + x_{55\brownbox} + x_{65\brownbox} \le 6v_{5\brownbox} Column 5, Brown Patch
x16+x26+x36+x46+x56+x666v6x_{16\brownbox} + x_{26\brownbox} + x_{36\brownbox} + x_{46\brownbox} + x_{56\brownbox} + x_{66\brownbox} \le 6v_{6\brownbox} Column 6, Brown Patch
Square Coverage Constraints
x11u1+v11x_{11\yellowbox} \ge u_{1\yellowbox} + v_{1\yellowbox} - 1 Square (1, 1), Yellow Patch
x12u1+v21x_{12\yellowbox} \ge u_{1\yellowbox} + v_{2\yellowbox} - 1 Square (1, 2), Yellow Patch
x13u1+v31x_{13\yellowbox} \ge u_{1\yellowbox} + v_{3\yellowbox} - 1 Square (1, 3), Yellow Patch
x14u1+v41x_{14\yellowbox} \ge u_{1\yellowbox} + v_{4\yellowbox} - 1 Square (1, 4), Yellow Patch
x15u1+v51x_{15\yellowbox} \ge u_{1\yellowbox} + v_{5\yellowbox} - 1 Square (1, 5), Yellow Patch
x16u1+v61x_{16\yellowbox} \ge u_{1\yellowbox} + v_{6\yellowbox} - 1 Square (1, 6), Yellow Patch
x21u2+v11x_{21\yellowbox} \ge u_{2\yellowbox} + v_{1\yellowbox} - 1 Square (2, 1), Yellow Patch
x22u2+v21x_{22\yellowbox} \ge u_{2\yellowbox} + v_{2\yellowbox} - 1 Square (2, 2), Yellow Patch
x23u2+v31x_{23\yellowbox} \ge u_{2\yellowbox} + v_{3\yellowbox} - 1 Square (2, 3), Yellow Patch
x24u2+v41x_{24\yellowbox} \ge u_{2\yellowbox} + v_{4\yellowbox} - 1 Square (2, 4), Yellow Patch
x25u2+v51x_{25\yellowbox} \ge u_{2\yellowbox} + v_{5\yellowbox} - 1 Square (2, 5), Yellow Patch
x26u2+v61x_{26\yellowbox} \ge u_{2\yellowbox} + v_{6\yellowbox} - 1 Square (2, 6), Yellow Patch
x31u3+v11x_{31\yellowbox} \ge u_{3\yellowbox} + v_{1\yellowbox} - 1 Square (3, 1), Yellow Patch
x32u3+v21x_{32\yellowbox} \ge u_{3\yellowbox} + v_{2\yellowbox} - 1 Square (3, 2), Yellow Patch
x33u3+v31x_{33\yellowbox} \ge u_{3\yellowbox} + v_{3\yellowbox} - 1 Square (3, 3), Yellow Patch
x34u3+v41x_{34\yellowbox} \ge u_{3\yellowbox} + v_{4\yellowbox} - 1 Square (3, 4), Yellow Patch
x35u3+v51x_{35\yellowbox} \ge u_{3\yellowbox} + v_{5\yellowbox} - 1 Square (3, 5), Yellow Patch
x36u3+v61x_{36\yellowbox} \ge u_{3\yellowbox} + v_{6\yellowbox} - 1 Square (3, 6), Yellow Patch
x41u4+v11x_{41\yellowbox} \ge u_{4\yellowbox} + v_{1\yellowbox} - 1 Square (4, 1), Yellow Patch
x42u4+v21x_{42\yellowbox} \ge u_{4\yellowbox} + v_{2\yellowbox} - 1 Square (4, 2), Yellow Patch
x43u4+v31x_{43\yellowbox} \ge u_{4\yellowbox} + v_{3\yellowbox} - 1 Square (4, 3), Yellow Patch
x44u4+v41x_{44\yellowbox} \ge u_{4\yellowbox} + v_{4\yellowbox} - 1 Square (4, 4), Yellow Patch
x45u4+v51x_{45\yellowbox} \ge u_{4\yellowbox} + v_{5\yellowbox} - 1 Square (4, 5), Yellow Patch
x46u4+v61x_{46\yellowbox} \ge u_{4\yellowbox} + v_{6\yellowbox} - 1 Square (4, 6), Yellow Patch
x51u5+v11x_{51\yellowbox} \ge u_{5\yellowbox} + v_{1\yellowbox} - 1 Square (5, 1), Yellow Patch
x52u5+v21x_{52\yellowbox} \ge u_{5\yellowbox} + v_{2\yellowbox} - 1 Square (5, 2), Yellow Patch
x53u5+v31x_{53\yellowbox} \ge u_{5\yellowbox} + v_{3\yellowbox} - 1 Square (5, 3), Yellow Patch
x54u5+v41x_{54\yellowbox} \ge u_{5\yellowbox} + v_{4\yellowbox} - 1 Square (5, 4), Yellow Patch
x55u5+v51x_{55\yellowbox} \ge u_{5\yellowbox} + v_{5\yellowbox} - 1 Square (5, 5), Yellow Patch
x56u5+v61x_{56\yellowbox} \ge u_{5\yellowbox} + v_{6\yellowbox} - 1 Square (5, 6), Yellow Patch
x61u6+v11x_{61\yellowbox} \ge u_{6\yellowbox} + v_{1\yellowbox} - 1 Square (6, 1), Yellow Patch
x62u6+v21x_{62\yellowbox} \ge u_{6\yellowbox} + v_{2\yellowbox} - 1 Square (6, 2), Yellow Patch
x63u6+v31x_{63\yellowbox} \ge u_{6\yellowbox} + v_{3\yellowbox} - 1 Square (6, 3), Yellow Patch
x64u6+v41x_{64\yellowbox} \ge u_{6\yellowbox} + v_{4\yellowbox} - 1 Square (6, 4), Yellow Patch
x65u6+v51x_{65\yellowbox} \ge u_{6\yellowbox} + v_{5\yellowbox} - 1 Square (6, 5), Yellow Patch
x66u6+v61x_{66\yellowbox} \ge u_{6\yellowbox} + v_{6\yellowbox} - 1 Square (6, 6), Yellow Patch
x11u1+v11x_{11\tealbox} \ge u_{1\tealbox} + v_{1\tealbox} - 1 Square (1, 1), Tealbox Patch
x12u1+v21x_{12\tealbox} \ge u_{1\tealbox} + v_{2\tealbox} - 1 Square (1, 2), Tealbox Patch
x13u1+v31x_{13\tealbox} \ge u_{1\tealbox} + v_{3\tealbox} - 1 Square (1, 3), Tealbox Patch
x14u1+v41x_{14\tealbox} \ge u_{1\tealbox} + v_{4\tealbox} - 1 Square (1, 4), Tealbox Patch
x15u1+v51x_{15\tealbox} \ge u_{1\tealbox} + v_{5\tealbox} - 1 Square (1, 5), Tealbox Patch
x16u1+v61x_{16\tealbox} \ge u_{1\tealbox} + v_{6\tealbox} - 1 Square (1, 6), Tealbox Patch
x21u2+v11x_{21\tealbox} \ge u_{2\tealbox} + v_{1\tealbox} - 1 Square (2, 1), Tealbox Patch
x22u2+v21x_{22\tealbox} \ge u_{2\tealbox} + v_{2\tealbox} - 1 Square (2, 2), Tealbox Patch
x23u2+v31x_{23\tealbox} \ge u_{2\tealbox} + v_{3\tealbox} - 1 Square (2, 3), Tealbox Patch
x24u2+v41x_{24\tealbox} \ge u_{2\tealbox} + v_{4\tealbox} - 1 Square (2, 4), Tealbox Patch
x25u2+v51x_{25\tealbox} \ge u_{2\tealbox} + v_{5\tealbox} - 1 Square (2, 5), Tealbox Patch
x26u2+v61x_{26\tealbox} \ge u_{2\tealbox} + v_{6\tealbox} - 1 Square (2, 6), Tealbox Patch
x31u3+v11x_{31\tealbox} \ge u_{3\tealbox} + v_{1\tealbox} - 1 Square (3, 1), Tealbox Patch
x32u3+v21x_{32\tealbox} \ge u_{3\tealbox} + v_{2\tealbox} - 1 Square (3, 2), Tealbox Patch
x33u3+v31x_{33\tealbox} \ge u_{3\tealbox} + v_{3\tealbox} - 1 Square (3, 3), Tealbox Patch
x34u3+v41x_{34\tealbox} \ge u_{3\tealbox} + v_{4\tealbox} - 1 Square (3, 4), Tealbox Patch
x35u3+v51x_{35\tealbox} \ge u_{3\tealbox} + v_{5\tealbox} - 1 Square (3, 5), Tealbox Patch
x36u3+v61x_{36\tealbox} \ge u_{3\tealbox} + v_{6\tealbox} - 1 Square (3, 6), Tealbox Patch
x41u4+v11x_{41\tealbox} \ge u_{4\tealbox} + v_{1\tealbox} - 1 Square (4, 1), Tealbox Patch
x42u4+v21x_{42\tealbox} \ge u_{4\tealbox} + v_{2\tealbox} - 1 Square (4, 2), Tealbox Patch
x43u4+v31x_{43\tealbox} \ge u_{4\tealbox} + v_{3\tealbox} - 1 Square (4, 3), Tealbox Patch
x44u4+v41x_{44\tealbox} \ge u_{4\tealbox} + v_{4\tealbox} - 1 Square (4, 4), Tealbox Patch
x45u4+v51x_{45\tealbox} \ge u_{4\tealbox} + v_{5\tealbox} - 1 Square (4, 5), Tealbox Patch
x46u4+v61x_{46\tealbox} \ge u_{4\tealbox} + v_{6\tealbox} - 1 Square (4, 6), Tealbox Patch
x51u5+v11x_{51\tealbox} \ge u_{5\tealbox} + v_{1\tealbox} - 1 Square (5, 1), Tealbox Patch
x52u5+v21x_{52\tealbox} \ge u_{5\tealbox} + v_{2\tealbox} - 1 Square (5, 2), Tealbox Patch
x53u5+v31x_{53\tealbox} \ge u_{5\tealbox} + v_{3\tealbox} - 1 Square (5, 3), Tealbox Patch
x54u5+v41x_{54\tealbox} \ge u_{5\tealbox} + v_{4\tealbox} - 1 Square (5, 4), Tealbox Patch
x55u5+v51x_{55\tealbox} \ge u_{5\tealbox} + v_{5\tealbox} - 1 Square (5, 5), Tealbox Patch
x56u5+v61x_{56\tealbox} \ge u_{5\tealbox} + v_{6\tealbox} - 1 Square (5, 6), Tealbox Patch
x61u6+v11x_{61\tealbox} \ge u_{6\tealbox} + v_{1\tealbox} - 1 Square (6, 1), Tealbox Patch
x62u6+v21x_{62\tealbox} \ge u_{6\tealbox} + v_{2\tealbox} - 1 Square (6, 2), Tealbox Patch
x63u6+v31x_{63\tealbox} \ge u_{6\tealbox} + v_{3\tealbox} - 1 Square (6, 3), Tealbox Patch
x64u6+v41x_{64\tealbox} \ge u_{6\tealbox} + v_{4\tealbox} - 1 Square (6, 4), Tealbox Patch
x65u6+v51x_{65\tealbox} \ge u_{6\tealbox} + v_{5\tealbox} - 1 Square (6, 5), Tealbox Patch
x66u6+v61x_{66\tealbox} \ge u_{6\tealbox} + v_{6\tealbox} - 1 Square (6, 6), Tealbox Patch
x11u1+v11x_{11\purplebox} \ge u_{1\purplebox} + v_{1\purplebox} - 1 Square (1, 1), Purple Patch
x12u1+v21x_{12\purplebox} \ge u_{1\purplebox} + v_{2\purplebox} - 1 Square (1, 2), Purple Patch
x13u1+v31x_{13\purplebox} \ge u_{1\purplebox} + v_{3\purplebox} - 1 Square (1, 3), Purple Patch
x14u1+v41x_{14\purplebox} \ge u_{1\purplebox} + v_{4\purplebox} - 1 Square (1, 4), Purple Patch
x15u1+v51x_{15\purplebox} \ge u_{1\purplebox} + v_{5\purplebox} - 1 Square (1, 5), Purple Patch
x16u1+v61x_{16\purplebox} \ge u_{1\purplebox} + v_{6\purplebox} - 1 Square (1, 6), Purple Patch
x21u2+v11x_{21\purplebox} \ge u_{2\purplebox} + v_{1\purplebox} - 1 Square (2, 1), Purple Patch
x22u2+v21x_{22\purplebox} \ge u_{2\purplebox} + v_{2\purplebox} - 1 Square (2, 2), Purple Patch
x23u2+v31x_{23\purplebox} \ge u_{2\purplebox} + v_{3\purplebox} - 1 Square (2, 3), Purple Patch
x24u2+v41x_{24\purplebox} \ge u_{2\purplebox} + v_{4\purplebox} - 1 Square (2, 4), Purple Patch
x25u2+v51x_{25\purplebox} \ge u_{2\purplebox} + v_{5\purplebox} - 1 Square (2, 5), Purple Patch
x26u2+v61x_{26\purplebox} \ge u_{2\purplebox} + v_{6\purplebox} - 1 Square (2, 6), Purple Patch
x31u3+v11x_{31\purplebox} \ge u_{3\purplebox} + v_{1\purplebox} - 1 Square (3, 1), Purple Patch
x32u3+v21x_{32\purplebox} \ge u_{3\purplebox} + v_{2\purplebox} - 1 Square (3, 2), Purple Patch
x33u3+v31x_{33\purplebox} \ge u_{3\purplebox} + v_{3\purplebox} - 1 Square (3, 3), Purple Patch
x34u3+v41x_{34\purplebox} \ge u_{3\purplebox} + v_{4\purplebox} - 1 Square (3, 4), Purple Patch
x35u3+v51x_{35\purplebox} \ge u_{3\purplebox} + v_{5\purplebox} - 1 Square (3, 5), Purple Patch
x36u3+v61x_{36\purplebox} \ge u_{3\purplebox} + v_{6\purplebox} - 1 Square (3, 6), Purple Patch
x41u4+v11x_{41\purplebox} \ge u_{4\purplebox} + v_{1\purplebox} - 1 Square (4, 1), Purple Patch
x42u4+v21x_{42\purplebox} \ge u_{4\purplebox} + v_{2\purplebox} - 1 Square (4, 2), Purple Patch
x43u4+v31x_{43\purplebox} \ge u_{4\purplebox} + v_{3\purplebox} - 1 Square (4, 3), Purple Patch
x44u4+v41x_{44\purplebox} \ge u_{4\purplebox} + v_{4\purplebox} - 1 Square (4, 4), Purple Patch
x45u4+v51x_{45\purplebox} \ge u_{4\purplebox} + v_{5\purplebox} - 1 Square (4, 5), Purple Patch
x46u4+v61x_{46\purplebox} \ge u_{4\purplebox} + v_{6\purplebox} - 1 Square (4, 6), Purple Patch
x51u5+v11x_{51\purplebox} \ge u_{5\purplebox} + v_{1\purplebox} - 1 Square (5, 1), Purple Patch
x52u5+v21x_{52\purplebox} \ge u_{5\purplebox} + v_{2\purplebox} - 1 Square (5, 2), Purple Patch
x53u5+v31x_{53\purplebox} \ge u_{5\purplebox} + v_{3\purplebox} - 1 Square (5, 3), Purple Patch
x54u5+v41x_{54\purplebox} \ge u_{5\purplebox} + v_{4\purplebox} - 1 Square (5, 4), Purple Patch
x55u5+v51x_{55\purplebox} \ge u_{5\purplebox} + v_{5\purplebox} - 1 Square (5, 5), Purple Patch
x56u5+v61x_{56\purplebox} \ge u_{5\purplebox} + v_{6\purplebox} - 1 Square (5, 6), Purple Patch
x61u6+v11x_{61\purplebox} \ge u_{6\purplebox} + v_{1\purplebox} - 1 Square (6, 1), Purple Patch
x62u6+v21x_{62\purplebox} \ge u_{6\purplebox} + v_{2\purplebox} - 1 Square (6, 2), Purple Patch
x63u6+v31x_{63\purplebox} \ge u_{6\purplebox} + v_{3\purplebox} - 1 Square (6, 3), Purple Patch
x64u6+v41x_{64\purplebox} \ge u_{6\purplebox} + v_{4\purplebox} - 1 Square (6, 4), Purple Patch
x65u6+v51x_{65\purplebox} \ge u_{6\purplebox} + v_{5\purplebox} - 1 Square (6, 5), Purple Patch
x66u6+v61x_{66\purplebox} \ge u_{6\purplebox} + v_{6\purplebox} - 1 Square (6, 6), Purple Patch
x11u1+v11x_{11\greenbox} \ge u_{1\greenbox} + v_{1\greenbox} - 1 Square (1, 1), Green Patch
x12u1+v21x_{12\greenbox} \ge u_{1\greenbox} + v_{2\greenbox} - 1 Square (1, 2), Green Patch
x13u1+v31x_{13\greenbox} \ge u_{1\greenbox} + v_{3\greenbox} - 1 Square (1, 3), Green Patch
x14u1+v41x_{14\greenbox} \ge u_{1\greenbox} + v_{4\greenbox} - 1 Square (1, 4), Green Patch
x15u1+v51x_{15\greenbox} \ge u_{1\greenbox} + v_{5\greenbox} - 1 Square (1, 5), Green Patch
x16u1+v61x_{16\greenbox} \ge u_{1\greenbox} + v_{6\greenbox} - 1 Square (1, 6), Green Patch
x21u2+v11x_{21\greenbox} \ge u_{2\greenbox} + v_{1\greenbox} - 1 Square (2, 1), Green Patch
x22u2+v21x_{22\greenbox} \ge u_{2\greenbox} + v_{2\greenbox} - 1 Square (2, 2), Green Patch
x23u2+v31x_{23\greenbox} \ge u_{2\greenbox} + v_{3\greenbox} - 1 Square (2, 3), Green Patch
x24u2+v41x_{24\greenbox} \ge u_{2\greenbox} + v_{4\greenbox} - 1 Square (2, 4), Green Patch
x25u2+v51x_{25\greenbox} \ge u_{2\greenbox} + v_{5\greenbox} - 1 Square (2, 5), Green Patch
x26u2+v61x_{26\greenbox} \ge u_{2\greenbox} + v_{6\greenbox} - 1 Square (2, 6), Green Patch
x31u3+v11x_{31\greenbox} \ge u_{3\greenbox} + v_{1\greenbox} - 1 Square (3, 1), Green Patch
x32u3+v21x_{32\greenbox} \ge u_{3\greenbox} + v_{2\greenbox} - 1 Square (3, 2), Green Patch
x33u3+v31x_{33\greenbox} \ge u_{3\greenbox} + v_{3\greenbox} - 1 Square (3, 3), Green Patch
x34u3+v41x_{34\greenbox} \ge u_{3\greenbox} + v_{4\greenbox} - 1 Square (3, 4), Green Patch
x35u3+v51x_{35\greenbox} \ge u_{3\greenbox} + v_{5\greenbox} - 1 Square (3, 5), Green Patch
x36u3+v61x_{36\greenbox} \ge u_{3\greenbox} + v_{6\greenbox} - 1 Square (3, 6), Green Patch
x41u4+v11x_{41\greenbox} \ge u_{4\greenbox} + v_{1\greenbox} - 1 Square (4, 1), Green Patch
x42u4+v21x_{42\greenbox} \ge u_{4\greenbox} + v_{2\greenbox} - 1 Square (4, 2), Green Patch
x43u4+v31x_{43\greenbox} \ge u_{4\greenbox} + v_{3\greenbox} - 1 Square (4, 3), Green Patch
x44u4+v41x_{44\greenbox} \ge u_{4\greenbox} + v_{4\greenbox} - 1 Square (4, 4), Green Patch
x45u4+v51x_{45\greenbox} \ge u_{4\greenbox} + v_{5\greenbox} - 1 Square (4, 5), Green Patch
x46u4+v61x_{46\greenbox} \ge u_{4\greenbox} + v_{6\greenbox} - 1 Square (4, 6), Green Patch
x51u5+v11x_{51\greenbox} \ge u_{5\greenbox} + v_{1\greenbox} - 1 Square (5, 1), Green Patch
x52u5+v21x_{52\greenbox} \ge u_{5\greenbox} + v_{2\greenbox} - 1 Square (5, 2), Green Patch
x53u5+v31x_{53\greenbox} \ge u_{5\greenbox} + v_{3\greenbox} - 1 Square (5, 3), Green Patch
x54u5+v41x_{54\greenbox} \ge u_{5\greenbox} + v_{4\greenbox} - 1 Square (5, 4), Green Patch
x55u5+v51x_{55\greenbox} \ge u_{5\greenbox} + v_{5\greenbox} - 1 Square (5, 5), Green Patch
x56u5+v61x_{56\greenbox} \ge u_{5\greenbox} + v_{6\greenbox} - 1 Square (5, 6), Green Patch
x61u6+v11x_{61\greenbox} \ge u_{6\greenbox} + v_{1\greenbox} - 1 Square (6, 1), Green Patch
x62u6+v21x_{62\greenbox} \ge u_{6\greenbox} + v_{2\greenbox} - 1 Square (6, 2), Green Patch
x63u6+v31x_{63\greenbox} \ge u_{6\greenbox} + v_{3\greenbox} - 1 Square (6, 3), Green Patch
x64u6+v41x_{64\greenbox} \ge u_{6\greenbox} + v_{4\greenbox} - 1 Square (6, 4), Green Patch
x65u6+v51x_{65\greenbox} \ge u_{6\greenbox} + v_{5\greenbox} - 1 Square (6, 5), Green Patch
x66u6+v61x_{66\greenbox} \ge u_{6\greenbox} + v_{6\greenbox} - 1 Square (6, 6), Green Patch
x11u1+v11x_{11\orangebox} \ge u_{1\orangebox} + v_{1\orangebox} - 1 Square (1, 1), Orange Patch
x12u1+v21x_{12\orangebox} \ge u_{1\orangebox} + v_{2\orangebox} - 1 Square (1, 2), Orange Patch
x13u1+v31x_{13\orangebox} \ge u_{1\orangebox} + v_{3\orangebox} - 1 Square (1, 3), Orange Patch
x14u1+v41x_{14\orangebox} \ge u_{1\orangebox} + v_{4\orangebox} - 1 Square (1, 4), Orange Patch
x15u1+v51x_{15\orangebox} \ge u_{1\orangebox} + v_{5\orangebox} - 1 Square (1, 5), Orange Patch
x16u1+v61x_{16\orangebox} \ge u_{1\orangebox} + v_{6\orangebox} - 1 Square (1, 6), Orange Patch
x21u2+v11x_{21\orangebox} \ge u_{2\orangebox} + v_{1\orangebox} - 1 Square (2, 1), Orange Patch
x22u2+v21x_{22\orangebox} \ge u_{2\orangebox} + v_{2\orangebox} - 1 Square (2, 2), Orange Patch
x23u2+v31x_{23\orangebox} \ge u_{2\orangebox} + v_{3\orangebox} - 1 Square (2, 3), Orange Patch
x24u2+v41x_{24\orangebox} \ge u_{2\orangebox} + v_{4\orangebox} - 1 Square (2, 4), Orange Patch
x25u2+v51x_{25\orangebox} \ge u_{2\orangebox} + v_{5\orangebox} - 1 Square (2, 5), Orange Patch
x26u2+v61x_{26\orangebox} \ge u_{2\orangebox} + v_{6\orangebox} - 1 Square (2, 6), Orange Patch
x31u3+v11x_{31\orangebox} \ge u_{3\orangebox} + v_{1\orangebox} - 1 Square (3, 1), Orange Patch
x32u3+v21x_{32\orangebox} \ge u_{3\orangebox} + v_{2\orangebox} - 1 Square (3, 2), Orange Patch
x33u3+v31x_{33\orangebox} \ge u_{3\orangebox} + v_{3\orangebox} - 1 Square (3, 3), Orange Patch
x34u3+v41x_{34\orangebox} \ge u_{3\orangebox} + v_{4\orangebox} - 1 Square (3, 4), Orange Patch
x35u3+v51x_{35\orangebox} \ge u_{3\orangebox} + v_{5\orangebox} - 1 Square (3, 5), Orange Patch
x36u3+v61x_{36\orangebox} \ge u_{3\orangebox} + v_{6\orangebox} - 1 Square (3, 6), Orange Patch
x41u4+v11x_{41\orangebox} \ge u_{4\orangebox} + v_{1\orangebox} - 1 Square (4, 1), Orange Patch
x42u4+v21x_{42\orangebox} \ge u_{4\orangebox} + v_{2\orangebox} - 1 Square (4, 2), Orange Patch
x43u4+v31x_{43\orangebox} \ge u_{4\orangebox} + v_{3\orangebox} - 1 Square (4, 3), Orange Patch
x44u4+v41x_{44\orangebox} \ge u_{4\orangebox} + v_{4\orangebox} - 1 Square (4, 4), Orange Patch
x45u4+v51x_{45\orangebox} \ge u_{4\orangebox} + v_{5\orangebox} - 1 Square (4, 5), Orange Patch
x46u4+v61x_{46\orangebox} \ge u_{4\orangebox} + v_{6\orangebox} - 1 Square (4, 6), Orange Patch
x51u5+v11x_{51\orangebox} \ge u_{5\orangebox} + v_{1\orangebox} - 1 Square (5, 1), Orange Patch
x52u5+v21x_{52\orangebox} \ge u_{5\orangebox} + v_{2\orangebox} - 1 Square (5, 2), Orange Patch
x53u5+v31x_{53\orangebox} \ge u_{5\orangebox} + v_{3\orangebox} - 1 Square (5, 3), Orange Patch
x54u5+v41x_{54\orangebox} \ge u_{5\orangebox} + v_{4\orangebox} - 1 Square (5, 4), Orange Patch
x55u5+v51x_{55\orangebox} \ge u_{5\orangebox} + v_{5\orangebox} - 1 Square (5, 5), Orange Patch
x56u5+v61x_{56\orangebox} \ge u_{5\orangebox} + v_{6\orangebox} - 1 Square (5, 6), Orange Patch
x61u6+v11x_{61\orangebox} \ge u_{6\orangebox} + v_{1\orangebox} - 1 Square (6, 1), Orange Patch
x62u6+v21x_{62\orangebox} \ge u_{6\orangebox} + v_{2\orangebox} - 1 Square (6, 2), Orange Patch
x63u6+v31x_{63\orangebox} \ge u_{6\orangebox} + v_{3\orangebox} - 1 Square (6, 3), Orange Patch
x64u6+v41x_{64\orangebox} \ge u_{6\orangebox} + v_{4\orangebox} - 1 Square (6, 4), Orange Patch
x65u6+v51x_{65\orangebox} \ge u_{6\orangebox} + v_{5\orangebox} - 1 Square (6, 5), Orange Patch
x66u6+v61x_{66\orangebox} \ge u_{6\orangebox} + v_{6\orangebox} - 1 Square (6, 6), Orange Patch
x11u1+v11x_{11\redbox} \ge u_{1\redbox} + v_{1\redbox} - 1 Square (1, 1), Red Patch
x12u1+v21x_{12\redbox} \ge u_{1\redbox} + v_{2\redbox} - 1 Square (1, 2), Red Patch
x13u1+v31x_{13\redbox} \ge u_{1\redbox} + v_{3\redbox} - 1 Square (1, 3), Red Patch
x14u1+v41x_{14\redbox} \ge u_{1\redbox} + v_{4\redbox} - 1 Square (1, 4), Red Patch
x15u1+v51x_{15\redbox} \ge u_{1\redbox} + v_{5\redbox} - 1 Square (1, 5), Red Patch
x16u1+v61x_{16\redbox} \ge u_{1\redbox} + v_{6\redbox} - 1 Square (1, 6), Red Patch
x21u2+v11x_{21\redbox} \ge u_{2\redbox} + v_{1\redbox} - 1 Square (2, 1), Red Patch
x22u2+v21x_{22\redbox} \ge u_{2\redbox} + v_{2\redbox} - 1 Square (2, 2), Red Patch
x23u2+v31x_{23\redbox} \ge u_{2\redbox} + v_{3\redbox} - 1 Square (2, 3), Red Patch
x24u2+v41x_{24\redbox} \ge u_{2\redbox} + v_{4\redbox} - 1 Square (2, 4), Red Patch
x25u2+v51x_{25\redbox} \ge u_{2\redbox} + v_{5\redbox} - 1 Square (2, 5), Red Patch
x26u2+v61x_{26\redbox} \ge u_{2\redbox} + v_{6\redbox} - 1 Square (2, 6), Red Patch
x31u3+v11x_{31\redbox} \ge u_{3\redbox} + v_{1\redbox} - 1 Square (3, 1), Red Patch
x32u3+v21x_{32\redbox} \ge u_{3\redbox} + v_{2\redbox} - 1 Square (3, 2), Red Patch
x33u3+v31x_{33\redbox} \ge u_{3\redbox} + v_{3\redbox} - 1 Square (3, 3), Red Patch
x34u3+v41x_{34\redbox} \ge u_{3\redbox} + v_{4\redbox} - 1 Square (3, 4), Red Patch
x35u3+v51x_{35\redbox} \ge u_{3\redbox} + v_{5\redbox} - 1 Square (3, 5), Red Patch
x36u3+v61x_{36\redbox} \ge u_{3\redbox} + v_{6\redbox} - 1 Square (3, 6), Red Patch
x41u4+v11x_{41\redbox} \ge u_{4\redbox} + v_{1\redbox} - 1 Square (4, 1), Red Patch
x42u4+v21x_{42\redbox} \ge u_{4\redbox} + v_{2\redbox} - 1 Square (4, 2), Red Patch
x43u4+v31x_{43\redbox} \ge u_{4\redbox} + v_{3\redbox} - 1 Square (4, 3), Red Patch
x44u4+v41x_{44\redbox} \ge u_{4\redbox} + v_{4\redbox} - 1 Square (4, 4), Red Patch
x45u4+v51x_{45\redbox} \ge u_{4\redbox} + v_{5\redbox} - 1 Square (4, 5), Red Patch
x46u4+v61x_{46\redbox} \ge u_{4\redbox} + v_{6\redbox} - 1 Square (4, 6), Red Patch
x51u5+v11x_{51\redbox} \ge u_{5\redbox} + v_{1\redbox} - 1 Square (5, 1), Red Patch
x52u5+v21x_{52\redbox} \ge u_{5\redbox} + v_{2\redbox} - 1 Square (5, 2), Red Patch
x53u5+v31x_{53\redbox} \ge u_{5\redbox} + v_{3\redbox} - 1 Square (5, 3), Red Patch
x54u5+v41x_{54\redbox} \ge u_{5\redbox} + v_{4\redbox} - 1 Square (5, 4), Red Patch
x55u5+v51x_{55\redbox} \ge u_{5\redbox} + v_{5\redbox} - 1 Square (5, 5), Red Patch
x56u5+v61x_{56\redbox} \ge u_{5\redbox} + v_{6\redbox} - 1 Square (5, 6), Red Patch
x61u6+v11x_{61\redbox} \ge u_{6\redbox} + v_{1\redbox} - 1 Square (6, 1), Red Patch
x62u6+v21x_{62\redbox} \ge u_{6\redbox} + v_{2\redbox} - 1 Square (6, 2), Red Patch
x63u6+v31x_{63\redbox} \ge u_{6\redbox} + v_{3\redbox} - 1 Square (6, 3), Red Patch
x64u6+v41x_{64\redbox} \ge u_{6\redbox} + v_{4\redbox} - 1 Square (6, 4), Red Patch
x65u6+v51x_{65\redbox} \ge u_{6\redbox} + v_{5\redbox} - 1 Square (6, 5), Red Patch
x66u6+v61x_{66\redbox} \ge u_{6\redbox} + v_{6\redbox} - 1 Square (6, 6), Red Patch
x11u1+v11x_{11\bluebox} \ge u_{1\bluebox} + v_{1\bluebox} - 1 Square (1, 1), Blue Patch
x12u1+v21x_{12\bluebox} \ge u_{1\bluebox} + v_{2\bluebox} - 1 Square (1, 2), Blue Patch
x13u1+v31x_{13\bluebox} \ge u_{1\bluebox} + v_{3\bluebox} - 1 Square (1, 3), Blue Patch
x14u1+v41x_{14\bluebox} \ge u_{1\bluebox} + v_{4\bluebox} - 1 Square (1, 4), Blue Patch
x15u1+v51x_{15\bluebox} \ge u_{1\bluebox} + v_{5\bluebox} - 1 Square (1, 5), Blue Patch
x16u1+v61x_{16\bluebox} \ge u_{1\bluebox} + v_{6\bluebox} - 1 Square (1, 6), Blue Patch
x21u2+v11x_{21\bluebox} \ge u_{2\bluebox} + v_{1\bluebox} - 1 Square (2, 1), Blue Patch
x22u2+v21x_{22\bluebox} \ge u_{2\bluebox} + v_{2\bluebox} - 1 Square (2, 2), Blue Patch
x23u2+v31x_{23\bluebox} \ge u_{2\bluebox} + v_{3\bluebox} - 1 Square (2, 3), Blue Patch
x24u2+v41x_{24\bluebox} \ge u_{2\bluebox} + v_{4\bluebox} - 1 Square (2, 4), Blue Patch
x25u2+v51x_{25\bluebox} \ge u_{2\bluebox} + v_{5\bluebox} - 1 Square (2, 5), Blue Patch
x26u2+v61x_{26\bluebox} \ge u_{2\bluebox} + v_{6\bluebox} - 1 Square (2, 6), Blue Patch
x31u3+v11x_{31\bluebox} \ge u_{3\bluebox} + v_{1\bluebox} - 1 Square (3, 1), Blue Patch
x32u3+v21x_{32\bluebox} \ge u_{3\bluebox} + v_{2\bluebox} - 1 Square (3, 2), Blue Patch
x33u3+v31x_{33\bluebox} \ge u_{3\bluebox} + v_{3\bluebox} - 1 Square (3, 3), Blue Patch
x34u3+v41x_{34\bluebox} \ge u_{3\bluebox} + v_{4\bluebox} - 1 Square (3, 4), Blue Patch
x35u3+v51x_{35\bluebox} \ge u_{3\bluebox} + v_{5\bluebox} - 1 Square (3, 5), Blue Patch
x36u3+v61x_{36\bluebox} \ge u_{3\bluebox} + v_{6\bluebox} - 1 Square (3, 6), Blue Patch
x41u4+v11x_{41\bluebox} \ge u_{4\bluebox} + v_{1\bluebox} - 1 Square (4, 1), Blue Patch
x42u4+v21x_{42\bluebox} \ge u_{4\bluebox} + v_{2\bluebox} - 1 Square (4, 2), Blue Patch
x43u4+v31x_{43\bluebox} \ge u_{4\bluebox} + v_{3\bluebox} - 1 Square (4, 3), Blue Patch
x44u4+v41x_{44\bluebox} \ge u_{4\bluebox} + v_{4\bluebox} - 1 Square (4, 4), Blue Patch
x45u4+v51x_{45\bluebox} \ge u_{4\bluebox} + v_{5\bluebox} - 1 Square (4, 5), Blue Patch
x46u4+v61x_{46\bluebox} \ge u_{4\bluebox} + v_{6\bluebox} - 1 Square (4, 6), Blue Patch
x51u5+v11x_{51\bluebox} \ge u_{5\bluebox} + v_{1\bluebox} - 1 Square (5, 1), Blue Patch
x52u5+v21x_{52\bluebox} \ge u_{5\bluebox} + v_{2\bluebox} - 1 Square (5, 2), Blue Patch
x53u5+v31x_{53\bluebox} \ge u_{5\bluebox} + v_{3\bluebox} - 1 Square (5, 3), Blue Patch
x54u5+v41x_{54\bluebox} \ge u_{5\bluebox} + v_{4\bluebox} - 1 Square (5, 4), Blue Patch
x55u5+v51x_{55\bluebox} \ge u_{5\bluebox} + v_{5\bluebox} - 1 Square (5, 5), Blue Patch
x56u5+v61x_{56\bluebox} \ge u_{5\bluebox} + v_{6\bluebox} - 1 Square (5, 6), Blue Patch
x61u6+v11x_{61\bluebox} \ge u_{6\bluebox} + v_{1\bluebox} - 1 Square (6, 1), Blue Patch
x62u6+v21x_{62\bluebox} \ge u_{6\bluebox} + v_{2\bluebox} - 1 Square (6, 2), Blue Patch
x63u6+v31x_{63\bluebox} \ge u_{6\bluebox} + v_{3\bluebox} - 1 Square (6, 3), Blue Patch
x64u6+v41x_{64\bluebox} \ge u_{6\bluebox} + v_{4\bluebox} - 1 Square (6, 4), Blue Patch
x65u6+v51x_{65\bluebox} \ge u_{6\bluebox} + v_{5\bluebox} - 1 Square (6, 5), Blue Patch
x66u6+v61x_{66\bluebox} \ge u_{6\bluebox} + v_{6\bluebox} - 1 Square (6, 6), Blue Patch
x11u1+v11x_{11\magentabox} \ge u_{1\magentabox} + v_{1\magentabox} - 1 Square (1, 1), Magenta Patch
x12u1+v21x_{12\magentabox} \ge u_{1\magentabox} + v_{2\magentabox} - 1 Square (1, 2), Magenta Patch
x13u1+v31x_{13\magentabox} \ge u_{1\magentabox} + v_{3\magentabox} - 1 Square (1, 3), Magenta Patch
x14u1+v41x_{14\magentabox} \ge u_{1\magentabox} + v_{4\magentabox} - 1 Square (1, 4), Magenta Patch
x15u1+v51x_{15\magentabox} \ge u_{1\magentabox} + v_{5\magentabox} - 1 Square (1, 5), Magenta Patch
x16u1+v61x_{16\magentabox} \ge u_{1\magentabox} + v_{6\magentabox} - 1 Square (1, 6), Magenta Patch
x21u2+v11x_{21\magentabox} \ge u_{2\magentabox} + v_{1\magentabox} - 1 Square (2, 1), Magenta Patch
x22u2+v21x_{22\magentabox} \ge u_{2\magentabox} + v_{2\magentabox} - 1 Square (2, 2), Magenta Patch
x23u2+v31x_{23\magentabox} \ge u_{2\magentabox} + v_{3\magentabox} - 1 Square (2, 3), Magenta Patch
x24u2+v41x_{24\magentabox} \ge u_{2\magentabox} + v_{4\magentabox} - 1 Square (2, 4), Magenta Patch
x25u2+v51x_{25\magentabox} \ge u_{2\magentabox} + v_{5\magentabox} - 1 Square (2, 5), Magenta Patch
x26u2+v61x_{26\magentabox} \ge u_{2\magentabox} + v_{6\magentabox} - 1 Square (2, 6), Magenta Patch
x31u3+v11x_{31\magentabox} \ge u_{3\magentabox} + v_{1\magentabox} - 1 Square (3, 1), Magenta Patch
x32u3+v21x_{32\magentabox} \ge u_{3\magentabox} + v_{2\magentabox} - 1 Square (3, 2), Magenta Patch
x33u3+v31x_{33\magentabox} \ge u_{3\magentabox} + v_{3\magentabox} - 1 Square (3, 3), Magenta Patch
x34u3+v41x_{34\magentabox} \ge u_{3\magentabox} + v_{4\magentabox} - 1 Square (3, 4), Magenta Patch
x35u3+v51x_{35\magentabox} \ge u_{3\magentabox} + v_{5\magentabox} - 1 Square (3, 5), Magenta Patch
x36u3+v61x_{36\magentabox} \ge u_{3\magentabox} + v_{6\magentabox} - 1 Square (3, 6), Magenta Patch
x41u4+v11x_{41\magentabox} \ge u_{4\magentabox} + v_{1\magentabox} - 1 Square (4, 1), Magenta Patch
x42u4+v21x_{42\magentabox} \ge u_{4\magentabox} + v_{2\magentabox} - 1 Square (4, 2), Magenta Patch
x43u4+v31x_{43\magentabox} \ge u_{4\magentabox} + v_{3\magentabox} - 1 Square (4, 3), Magenta Patch
x44u4+v41x_{44\magentabox} \ge u_{4\magentabox} + v_{4\magentabox} - 1 Square (4, 4), Magenta Patch
x45u4+v51x_{45\magentabox} \ge u_{4\magentabox} + v_{5\magentabox} - 1 Square (4, 5), Magenta Patch
x46u4+v61x_{46\magentabox} \ge u_{4\magentabox} + v_{6\magentabox} - 1 Square (4, 6), Magenta Patch
x51u5+v11x_{51\magentabox} \ge u_{5\magentabox} + v_{1\magentabox} - 1 Square (5, 1), Magenta Patch
x52u5+v21x_{52\magentabox} \ge u_{5\magentabox} + v_{2\magentabox} - 1 Square (5, 2), Magenta Patch
x53u5+v31x_{53\magentabox} \ge u_{5\magentabox} + v_{3\magentabox} - 1 Square (5, 3), Magenta Patch
x54u5+v41x_{54\magentabox} \ge u_{5\magentabox} + v_{4\magentabox} - 1 Square (5, 4), Magenta Patch
x55u5+v51x_{55\magentabox} \ge u_{5\magentabox} + v_{5\magentabox} - 1 Square (5, 5), Magenta Patch
x56u5+v61x_{56\magentabox} \ge u_{5\magentabox} + v_{6\magentabox} - 1 Square (5, 6), Magenta Patch
x61u6+v11x_{61\magentabox} \ge u_{6\magentabox} + v_{1\magentabox} - 1 Square (6, 1), Magenta Patch
x62u6+v21x_{62\magentabox} \ge u_{6\magentabox} + v_{2\magentabox} - 1 Square (6, 2), Magenta Patch
x63u6+v31x_{63\magentabox} \ge u_{6\magentabox} + v_{3\magentabox} - 1 Square (6, 3), Magenta Patch
x64u6+v41x_{64\magentabox} \ge u_{6\magentabox} + v_{4\magentabox} - 1 Square (6, 4), Magenta Patch
x65u6+v51x_{65\magentabox} \ge u_{6\magentabox} + v_{5\magentabox} - 1 Square (6, 5), Magenta Patch
x66u6+v61x_{66\magentabox} \ge u_{6\magentabox} + v_{6\magentabox} - 1 Square (6, 6), Magenta Patch
x11u1+v11x_{11\brickbox} \ge u_{1\brickbox} + v_{1\brickbox} - 1 Square (1, 1), Brick Patch
x12u1+v21x_{12\brickbox} \ge u_{1\brickbox} + v_{2\brickbox} - 1 Square (1, 2), Brick Patch
x13u1+v31x_{13\brickbox} \ge u_{1\brickbox} + v_{3\brickbox} - 1 Square (1, 3), Brick Patch
x14u1+v41x_{14\brickbox} \ge u_{1\brickbox} + v_{4\brickbox} - 1 Square (1, 4), Brick Patch
x15u1+v51x_{15\brickbox} \ge u_{1\brickbox} + v_{5\brickbox} - 1 Square (1, 5), Brick Patch
x16u1+v61x_{16\brickbox} \ge u_{1\brickbox} + v_{6\brickbox} - 1 Square (1, 6), Brick Patch
x21u2+v11x_{21\brickbox} \ge u_{2\brickbox} + v_{1\brickbox} - 1 Square (2, 1), Brick Patch
x22u2+v21x_{22\brickbox} \ge u_{2\brickbox} + v_{2\brickbox} - 1 Square (2, 2), Brick Patch
x23u2+v31x_{23\brickbox} \ge u_{2\brickbox} + v_{3\brickbox} - 1 Square (2, 3), Brick Patch
x24u2+v41x_{24\brickbox} \ge u_{2\brickbox} + v_{4\brickbox} - 1 Square (2, 4), Brick Patch
x25u2+v51x_{25\brickbox} \ge u_{2\brickbox} + v_{5\brickbox} - 1 Square (2, 5), Brick Patch
x26u2+v61x_{26\brickbox} \ge u_{2\brickbox} + v_{6\brickbox} - 1 Square (2, 6), Brick Patch
x31u3+v11x_{31\brickbox} \ge u_{3\brickbox} + v_{1\brickbox} - 1 Square (3, 1), Brick Patch
x32u3+v21x_{32\brickbox} \ge u_{3\brickbox} + v_{2\brickbox} - 1 Square (3, 2), Brick Patch
x33u3+v31x_{33\brickbox} \ge u_{3\brickbox} + v_{3\brickbox} - 1 Square (3, 3), Brick Patch
x34u3+v41x_{34\brickbox} \ge u_{3\brickbox} + v_{4\brickbox} - 1 Square (3, 4), Brick Patch
x35u3+v51x_{35\brickbox} \ge u_{3\brickbox} + v_{5\brickbox} - 1 Square (3, 5), Brick Patch
x36u3+v61x_{36\brickbox} \ge u_{3\brickbox} + v_{6\brickbox} - 1 Square (3, 6), Brick Patch
x41u4+v11x_{41\brickbox} \ge u_{4\brickbox} + v_{1\brickbox} - 1 Square (4, 1), Brick Patch
x42u4+v21x_{42\brickbox} \ge u_{4\brickbox} + v_{2\brickbox} - 1 Square (4, 2), Brick Patch
x43u4+v31x_{43\brickbox} \ge u_{4\brickbox} + v_{3\brickbox} - 1 Square (4, 3), Brick Patch
x44u4+v41x_{44\brickbox} \ge u_{4\brickbox} + v_{4\brickbox} - 1 Square (4, 4), Brick Patch
x45u4+v51x_{45\brickbox} \ge u_{4\brickbox} + v_{5\brickbox} - 1 Square (4, 5), Brick Patch
x46u4+v61x_{46\brickbox} \ge u_{4\brickbox} + v_{6\brickbox} - 1 Square (4, 6), Brick Patch
x51u5+v11x_{51\brickbox} \ge u_{5\brickbox} + v_{1\brickbox} - 1 Square (5, 1), Brick Patch
x52u5+v21x_{52\brickbox} \ge u_{5\brickbox} + v_{2\brickbox} - 1 Square (5, 2), Brick Patch
x53u5+v31x_{53\brickbox} \ge u_{5\brickbox} + v_{3\brickbox} - 1 Square (5, 3), Brick Patch
x54u5+v41x_{54\brickbox} \ge u_{5\brickbox} + v_{4\brickbox} - 1 Square (5, 4), Brick Patch
x55u5+v51x_{55\brickbox} \ge u_{5\brickbox} + v_{5\brickbox} - 1 Square (5, 5), Brick Patch
x56u5+v61x_{56\brickbox} \ge u_{5\brickbox} + v_{6\brickbox} - 1 Square (5, 6), Brick Patch
x61u6+v11x_{61\brickbox} \ge u_{6\brickbox} + v_{1\brickbox} - 1 Square (6, 1), Brick Patch
x62u6+v21x_{62\brickbox} \ge u_{6\brickbox} + v_{2\brickbox} - 1 Square (6, 2), Brick Patch
x63u6+v31x_{63\brickbox} \ge u_{6\brickbox} + v_{3\brickbox} - 1 Square (6, 3), Brick Patch
x64u6+v41x_{64\brickbox} \ge u_{6\brickbox} + v_{4\brickbox} - 1 Square (6, 4), Brick Patch
x65u6+v51x_{65\brickbox} \ge u_{6\brickbox} + v_{5\brickbox} - 1 Square (6, 5), Brick Patch
x66u6+v61x_{66\brickbox} \ge u_{6\brickbox} + v_{6\brickbox} - 1 Square (6, 6), Brick Patch
x11u1+v11x_{11\brownbox} \ge u_{1\brownbox} + v_{1\brownbox} - 1 Square (1, 1), Brown Patch
x12u1+v21x_{12\brownbox} \ge u_{1\brownbox} + v_{2\brownbox} - 1 Square (1, 2), Brown Patch
x13u1+v31x_{13\brownbox} \ge u_{1\brownbox} + v_{3\brownbox} - 1 Square (1, 3), Brown Patch
x14u1+v41x_{14\brownbox} \ge u_{1\brownbox} + v_{4\brownbox} - 1 Square (1, 4), Brown Patch
x15u1+v51x_{15\brownbox} \ge u_{1\brownbox} + v_{5\brownbox} - 1 Square (1, 5), Brown Patch
x16u1+v61x_{16\brownbox} \ge u_{1\brownbox} + v_{6\brownbox} - 1 Square (1, 6), Brown Patch
x21u2+v11x_{21\brownbox} \ge u_{2\brownbox} + v_{1\brownbox} - 1 Square (2, 1), Brown Patch
x22u2+v21x_{22\brownbox} \ge u_{2\brownbox} + v_{2\brownbox} - 1 Square (2, 2), Brown Patch
x23u2+v31x_{23\brownbox} \ge u_{2\brownbox} + v_{3\brownbox} - 1 Square (2, 3), Brown Patch
x24u2+v41x_{24\brownbox} \ge u_{2\brownbox} + v_{4\brownbox} - 1 Square (2, 4), Brown Patch
x25u2+v51x_{25\brownbox} \ge u_{2\brownbox} + v_{5\brownbox} - 1 Square (2, 5), Brown Patch
x26u2+v61x_{26\brownbox} \ge u_{2\brownbox} + v_{6\brownbox} - 1 Square (2, 6), Brown Patch
x31u3+v11x_{31\brownbox} \ge u_{3\brownbox} + v_{1\brownbox} - 1 Square (3, 1), Brown Patch
x32u3+v21x_{32\brownbox} \ge u_{3\brownbox} + v_{2\brownbox} - 1 Square (3, 2), Brown Patch
x33u3+v31x_{33\brownbox} \ge u_{3\brownbox} + v_{3\brownbox} - 1 Square (3, 3), Brown Patch
x34u3+v41x_{34\brownbox} \ge u_{3\brownbox} + v_{4\brownbox} - 1 Square (3, 4), Brown Patch
x35u3+v51x_{35\brownbox} \ge u_{3\brownbox} + v_{5\brownbox} - 1 Square (3, 5), Brown Patch
x36u3+v61x_{36\brownbox} \ge u_{3\brownbox} + v_{6\brownbox} - 1 Square (3, 6), Brown Patch
x41u4+v11x_{41\brownbox} \ge u_{4\brownbox} + v_{1\brownbox} - 1 Square (4, 1), Brown Patch
x42u4+v21x_{42\brownbox} \ge u_{4\brownbox} + v_{2\brownbox} - 1 Square (4, 2), Brown Patch
x43u4+v31x_{43\brownbox} \ge u_{4\brownbox} + v_{3\brownbox} - 1 Square (4, 3), Brown Patch
x44u4+v41x_{44\brownbox} \ge u_{4\brownbox} + v_{4\brownbox} - 1 Square (4, 4), Brown Patch
x45u4+v51x_{45\brownbox} \ge u_{4\brownbox} + v_{5\brownbox} - 1 Square (4, 5), Brown Patch
x46u4+v61x_{46\brownbox} \ge u_{4\brownbox} + v_{6\brownbox} - 1 Square (4, 6), Brown Patch
x51u5+v11x_{51\brownbox} \ge u_{5\brownbox} + v_{1\brownbox} - 1 Square (5, 1), Brown Patch
x52u5+v21x_{52\brownbox} \ge u_{5\brownbox} + v_{2\brownbox} - 1 Square (5, 2), Brown Patch
x53u5+v31x_{53\brownbox} \ge u_{5\brownbox} + v_{3\brownbox} - 1 Square (5, 3), Brown Patch
x54u5+v41x_{54\brownbox} \ge u_{5\brownbox} + v_{4\brownbox} - 1 Square (5, 4), Brown Patch
x55u5+v51x_{55\brownbox} \ge u_{5\brownbox} + v_{5\brownbox} - 1 Square (5, 5), Brown Patch
x56u5+v61x_{56\brownbox} \ge u_{5\brownbox} + v_{6\brownbox} - 1 Square (5, 6), Brown Patch
x61u6+v11x_{61\brownbox} \ge u_{6\brownbox} + v_{1\brownbox} - 1 Square (6, 1), Brown Patch
x62u6+v21x_{62\brownbox} \ge u_{6\brownbox} + v_{2\brownbox} - 1 Square (6, 2), Brown Patch
x63u6+v31x_{63\brownbox} \ge u_{6\brownbox} + v_{3\brownbox} - 1 Square (6, 3), Brown Patch
x64u6+v41x_{64\brownbox} \ge u_{6\brownbox} + v_{4\brownbox} - 1 Square (6, 4), Brown Patch
x65u6+v51x_{65\brownbox} \ge u_{6\brownbox} + v_{5\brownbox} - 1 Square (6, 5), Brown Patch
x66u6+v61x_{66\brownbox} \ge u_{6\brownbox} + v_{6\brownbox} - 1 Square (6, 6), Brown Patch
Seed Square Coverage Constraints
x12=1x_{12\yellowbox} = 1 Yellow Square
x14=1x_{14\tealbox} = 1 Teal Square
x26=1x_{26\purplebox} = 1 Purple Square
x31=1x_{31\tealbox} = 1 Green Square
x33=1x_{33\orangebox} = 1 Orange Square
x44=1x_{44\redbox} = 1 Red Square
x46=1x_{46\bluebox} = 1 Blue Square
x51=1x_{51\magentabox} = 1 Magenta Square
x63=1x_{63\brickbox} = 1 Brick Square
x65=1x_{65\brownbox} = 1 Brown Square
Area Constraints
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=2 x_{11\yellowbox} + x_{12\yellowbox} + x_{13\yellowbox} + x_{14\yellowbox} + x_{15\yellowbox} + x_{16\yellowbox} + x_{21\yellowbox} + x_{22\yellowbox} + x_{23\yellowbox} + x_{24\yellowbox} + x_{25\yellowbox} + x_{26\yellowbox} + x_{31\yellowbox} + x_{32\yellowbox} + x_{33\yellowbox} + x_{34\yellowbox} + x_{35\yellowbox} + x_{36\yellowbox} + x_{41\yellowbox} + x_{42\yellowbox} + x_{43\yellowbox} + x_{44\yellowbox} + x_{45\yellowbox} + x_{46\yellowbox} + x_{51\yellowbox} + x_{52\yellowbox} + x_{53\yellowbox} + x_{54\yellowbox} + x_{55\yellowbox} + x_{56\yellowbox} + x_{61\yellowbox} + x_{62\yellowbox} + x_{63\yellowbox} + x_{64\yellowbox} + x_{65\yellowbox} + x_{66\yellowbox} = 2 Yellow Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=6 x_{11\tealbox} + x_{12\tealbox} + x_{13\tealbox} + x_{14\tealbox} + x_{15\tealbox} + x_{16\tealbox} + x_{21\tealbox} + x_{22\tealbox} + x_{23\tealbox} + x_{24\tealbox} + x_{25\tealbox}+ x_{26\tealbox} + x_{31\tealbox} + x_{32\tealbox} + x_{33\tealbox} + x_{34\tealbox} + x_{35\tealbox} + x_{36\tealbox} + x_{41\tealbox} + x_{42\tealbox} + x_{43\tealbox} + x_{44\tealbox} +x_{45\tealbox} + x_{46\tealbox} + x_{51\tealbox} + x_{52\tealbox} + x_{53\tealbox} + x_{54\tealbox} + x_{55\tealbox} + x_{56\tealbox} + x_{61\tealbox} + x_{62\tealbox} + x_{63\tealbox} + x_{64\tealbox} + x_{65\tealbox} + x_{66\tealbox} = 6 Teal Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=2 x_{11\purplebox} + x_{12\purplebox} + x_{13\purplebox} + x_{14\purplebox} + x_{15\purplebox} + x_{16\purplebox} + x_{21\purplebox} + x_{22\purplebox} + x_{23\purplebox} + x_{24\purplebox} + x_{25\purplebox} + x_{26\purplebox} + x_{31\purplebox} + x_{32\purplebox} + x_{33\purplebox} + x_{34\purplebox} + x_{35\purplebox} + x_{36\purplebox} + x_{41\purplebox} + x_{42\purplebox} + x_{43\purplebox} + x_{44\purplebox} + x_{45\purplebox} + x_{46\purplebox} + x_{51\purplebox} + x_{52\purplebox} + x_{53\purplebox} + x_{54\purplebox} + x_{55\purplebox} + x_{56\purplebox} + x_{61\purplebox} + x_{62\purplebox} + x_{63\purplebox} + x_{64\purplebox} + x_{65\purplebox} + x_{66\purplebox} = 2 Purple Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=6 x_{11\greenbox} + x_{12\greenbox} + x_{13\greenbox} + x_{14\greenbox} + x_{15\greenbox} + x_{16\greenbox} + x_{21\greenbox} + x_{22\greenbox} + x_{23\greenbox} + x_{24\greenbox} + x_{25\greenbox} + x_{26\greenbox} + x_{31\greenbox} + x_{32\greenbox} + x_{33\greenbox} + x_{34\greenbox} + x_{35\greenbox} + x_{36\greenbox} + x_{41\greenbox} + x_{42\greenbox} + x_{43\greenbox} + x_{44\greenbox} + x_{45\greenbox} + x_{46\greenbox} + x_{51\greenbox} + x_{52\greenbox} + x_{53\greenbox} + x_{54\greenbox} + x_{55\greenbox} + x_{56\greenbox} + x_{61\greenbox} + x_{62\greenbox} + x_{63\greenbox} + x_{64\greenbox} + x_{65\greenbox} + x_{66\greenbox} = 6 Green Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=2 x_{11\orangebox} + x_{12\orangebox} + x_{13\orangebox} + x_{14\orangebox} + x_{15\orangebox} + x_{16\orangebox} + x_{21\orangebox} + x_{22\orangebox} + x_{23\orangebox} + x_{24\orangebox} + x_{25\orangebox} + x_{26\orangebox} + x_{31\orangebox} + x_{32\orangebox} + x_{33\orangebox} + x_{34\orangebox} + x_{35\orangebox} + x_{36\orangebox} + x_{41\orangebox} + x_{42\orangebox} + x_{43\orangebox} + x_{44\orangebox} + x_{45\orangebox} + x_{46\orangebox} + x_{51\orangebox} + x_{52\orangebox} + x_{53\orangebox} + x_{54\orangebox} + x_{55\orangebox} + x_{56\orangebox} + x_{61\orangebox} + x_{62\orangebox} + x_{63\orangebox} + x_{64\orangebox} + x_{65\orangebox} + x_{66\orangebox} = 2 Orange Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=4 x_{11\redbox} + x_{12\redbox} + x_{13\redbox} + x_{14\redbox} + x_{15\redbox} + x_{16\redbox} + x_{21\redbox} + x_{22\redbox} + x_{23\redbox} + x_{24\redbox} + x_{25\redbox} + x_{26\redbox} + x_{31\redbox} + x_{32\redbox} + x_{33\redbox} + x_{34\redbox} + x_{35\redbox} + x_{36\redbox} + x_{41\redbox} + x_{42\redbox} + x_{43\redbox} + x_{44\redbox} + x_{45\redbox} + x_{46\redbox} + x_{51\redbox} + x_{52\redbox} + x_{53\redbox} + x_{54\redbox} + x_{55\redbox} + x_{56\redbox} + x_{61\redbox} + x_{62\redbox} + x_{63\redbox} + x_{64\redbox} + x_{65\redbox} + x_{66\redbox} = 4 Red Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=2 x_{11\bluebox} + x_{12\bluebox} + x_{13\bluebox} + x_{14\bluebox} + x_{15\bluebox} + x_{16\bluebox} + x_{21\bluebox} + x_{22\bluebox} + x_{23\bluebox} + x_{24\bluebox} + x_{25\bluebox}+ x_{26\bluebox} + x_{31\bluebox} + x_{32\bluebox} + x_{33\bluebox} + x_{34\bluebox} + x_{35\bluebox} + x_{36\bluebox} + x_{41\bluebox} + x_{42\bluebox} + x_{43\bluebox} + x_{44\bluebox} +x_{45\bluebox} + x_{46\bluebox} + x_{51\bluebox} + x_{52\bluebox} + x_{53\bluebox} + x_{54\bluebox} + x_{55\bluebox} + x_{56\bluebox} + x_{61\bluebox} + x_{62\bluebox} + x_{63\bluebox} + x_{64\bluebox} + x_{65\bluebox} + x_{66\bluebox} = 2 Blue Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=2 x_{11\magentabox} + x_{12\magentabox} + x_{13\magentabox} + x_{14\magentabox} + x_{15\magentabox} + x_{16\magentabox} + x_{21\magentabox} + x_{22\magentabox} + x_{23\magentabox} + x_{24\magentabox} + x_{25\magentabox} + x_{26\magentabox} + x_{31\magentabox} + x_{32\magentabox} + x_{33\magentabox} + x_{34\magentabox} + x_{35\magentabox} + x_{36\magentabox} + x_{41\magentabox} + x_{42\magentabox} + x_{43\magentabox} + x_{44\magentabox} + x_{45\magentabox} + x_{46\magentabox} + x_{51\magentabox} + x_{52\magentabox} + x_{53\magentabox} + x_{54\magentabox} + x_{55\magentabox} + x_{56\magentabox} + x_{61\magentabox} + x_{62\magentabox} + x_{63\magentabox} + x_{64\magentabox} + x_{65\magentabox} + x_{66\magentabox} = 2 Magenta Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=6 x_{11\brickbox} + x_{12\brickbox} + x_{13\brickbox} + x_{14\brickbox} + x_{15\brickbox} + x_{16\brickbox} + x_{21\brickbox} + x_{22\brickbox} + x_{23\brickbox} + x_{24\brickbox} + x_{25\brickbox} + x_{26\brickbox} + x_{31\brickbox} + x_{32\brickbox} + x_{33\brickbox} + x_{34\brickbox} + x_{35\brickbox} + x_{36\brickbox} + x_{41\brickbox} + x_{42\brickbox} + x_{43\brickbox} + x_{44\brickbox} + x_{45\brickbox} + x_{46\brickbox} + x_{51\brickbox} + x_{52\brickbox} + x_{53\brickbox} + x_{54\brickbox} + x_{55\brickbox} + x_{56\brickbox} + x_{61\brickbox} + x_{62\brickbox} + x_{63\brickbox} + x_{64\brickbox} + x_{65\brickbox} + x_{66\brickbox} = 6 Brick Patch
x11+x12+x13+x14+x15+x16+x21+x22+x23+x24+x25+x26+x31+x32+x33+x34+x35+x36+x41+x42+x43+x44+x45+x46+x51+x52+x53+x54+x55+x56+x61+x62+x63+x64+x65+x66=4 x_{11\brownbox} + x_{12\brownbox} + x_{13\brownbox} + x_{14\brownbox} + x_{15\brownbox} + x_{16\brownbox} + x_{21\brownbox} + x_{22\brownbox} + x_{23\brownbox} + x_{24\brownbox} + x_{25\brownbox} + x_{26\brownbox} + x_{31\brownbox} + x_{32\brownbox} + x_{33\brownbox} + x_{34\brownbox} + x_{35\brownbox} + x_{36\brownbox} + x_{41\brownbox} + x_{42\brownbox} + x_{43\brownbox} + x_{44\brownbox} + x_{45\brownbox} + x_{46\brownbox} + x_{51\brownbox} + x_{52\brownbox} + x_{53\brownbox} + x_{54\brownbox} + x_{55\brownbox} + x_{56\brownbox} + x_{61\brownbox} + x_{62\brownbox} + x_{63\brownbox} + x_{64\brownbox} + x_{65\brownbox} + x_{66\brownbox} = 4 Brown Patch
Vertical-Patch Constraints
w<hw_{\orangebox} < h_{\orangebox} Orange Patch
Square-Patch Constraints
w=hw_{\redbox} = h_{\redbox} Red Patch
Integrity Constraints
lNl_{\yellowbox} \in \N Yellow Patch
lNl_{\tealbox} \in \N Teal Patch
lNl_{\purplebox} \in \N Purple Patch
lNl_{\greenbox} \in \N Green Patch
lNl_{\orangebox} \in \N Orange Patch
lNl_{\redbox} \in \N Red Patch
lNl_{\bluebox} \in \N Blue Patch
lNl_{\magentabox} \in \N Magenta Patch
lNl_{\brickbox} \in \N Brick Patch
lNl_{\brownbox} \in \N Brown Patch
wNw_{\yellowbox} \in \N Yellow Patch
wNw_{\tealbox} \in \N Teal Patch
wNw_{\purplebox} \in \N Purple Patch
wNw_{\greenbox} \in \N Green Patch
wNw_{\orangebox} \in \N Orange Patch
wNw_{\redbox} \in \N Red Patch
wNw_{\bluebox} \in \N Blue Patch
wNw_{\magentabox} \in \N Magenta Patch
wNw_{\brickbox} \in \N Brick Patch
wNw_{\brownbox} \in \N Brown Patch
tNt_{\yellowbox} \in \N Yellow Patch
tNt_{\tealbox} \in \N Teal Patch
tNt_{\purplebox} \in \N Purple Patch
tNt_{\greenbox} \in \N Green Patch
tNt_{\orangebox} \in \N Orange Patch
tNt_{\redbox} \in \N Red Patch
tNt_{\bluebox} \in \N Blue Patch
tNt_{\magentabox} \in \N Magenta Patch
tNt_{\brickbox} \in \N Brick Patch
tNt_{\brownbox} \in \N Brown Patch
hNh_{\yellowbox} \in \N Yellow Patch
hNh_{\tealbox} \in \N Teal Patch
hNh_{\purplebox} \in \N Purple Patch
hNh_{\greenbox} \in \N Green Patch
hNh_{\orangebox} \in \N Orange Patch
hNh_{\redbox} \in \N Red Patch
hNh_{\bluebox} \in \N Blue Patch
hNh_{\magentabox} \in \N Magenta Patch
hNh_{\brickbox} \in \N Brick Patch
hNh_{\brownbox} \in \N Brown Patch
Binarity Constraints
u1{0,1}u_{1\yellowbox} \in \B Row 1, Yellow Patch
u2{0,1}u_{2\yellowbox} \in \B Row 2, Yellow Patch
u3{0,1}u_{3\yellowbox} \in \B Row 3, Yellow Patch
u4{0,1}u_{4\yellowbox} \in \B Row 4, Yellow Patch
u5{0,1}u_{5\yellowbox} \in \B Row 5, Yellow Patch
u6{0,1}u_{6\yellowbox} \in \B Row 6, Yellow Patch
u1{0,1}u_{1\tealbox} \in \B Row 1, Tealbox Patch
u2{0,1}u_{2\tealbox} \in \B Row 2, Tealbox Patch
u3{0,1}u_{3\tealbox} \in \B Row 3, Tealbox Patch
u4{0,1}u_{4\tealbox} \in \B Row 4, Tealbox Patch
u5{0,1}u_{5\tealbox} \in \B Row 5, Tealbox Patch
u6{0,1}u_{6\tealbox} \in \B Row 6, Tealbox Patch
u1{0,1}u_{1\purplebox} \in \B Row 1, Purple Patch
u2{0,1}u_{2\purplebox} \in \B Row 2, Purple Patch
u3{0,1}u_{3\purplebox} \in \B Row 3, Purple Patch
u4{0,1}u_{4\purplebox} \in \B Row 4, Purple Patch
u5{0,1}u_{5\purplebox} \in \B Row 5, Purple Patch
u6{0,1}u_{6\purplebox} \in \B Row 6, Purple Patch
u1{0,1}u_{1\greenbox} \in \B Row 1, Green Patch
u2{0,1}u_{2\greenbox} \in \B Row 2, Green Patch
u3{0,1}u_{3\greenbox} \in \B Row 3, Green Patch
u4{0,1}u_{4\greenbox} \in \B Row 4, Green Patch
u5{0,1}u_{5\greenbox} \in \B Row 5, Green Patch
u6{0,1}u_{6\greenbox} \in \B Row 6, Green Patch
u1{0,1}u_{1\orangebox} \in \B Row 1, Orange Patch
u2{0,1}u_{2\orangebox} \in \B Row 2, Orange Patch
u3{0,1}u_{3\orangebox} \in \B Row 3, Orange Patch
u4{0,1}u_{4\orangebox} \in \B Row 4, Orange Patch
u5{0,1}u_{5\orangebox} \in \B Row 5, Orange Patch
u6{0,1}u_{6\orangebox} \in \B Row 6, Orange Patch
u1{0,1}u_{1\redbox} \in \B Row 1, Red Patch
u2{0,1}u_{2\redbox} \in \B Row 2, Red Patch
u3{0,1}u_{3\redbox} \in \B Row 3, Red Patch
u4{0,1}u_{4\redbox} \in \B Row 4, Red Patch
u5{0,1}u_{5\redbox} \in \B Row 5, Red Patch
u6{0,1}u_{6\redbox} \in \B Row 6, Red Patch
u1{0,1}u_{1\bluebox} \in \B Row 1, Blue Patch
u2{0,1}u_{2\bluebox} \in \B Row 2, Blue Patch
u3{0,1}u_{3\bluebox} \in \B Row 3, Blue Patch
u4{0,1}u_{4\bluebox} \in \B Row 4, Blue Patch
u5{0,1}u_{5\bluebox} \in \B Row 5, Blue Patch
u6{0,1}u_{6\bluebox} \in \B Row 6, Blue Patch
u1{0,1}u_{1\magentabox} \in \B Row 1, Magenta Patch
u2{0,1}u_{2\magentabox} \in \B Row 2, Magenta Patch
u3{0,1}u_{3\magentabox} \in \B Row 3, Magenta Patch
u4{0,1}u_{4\magentabox} \in \B Row 4, Magenta Patch
u5{0,1}u_{5\magentabox} \in \B Row 5, Magenta Patch
u6{0,1}u_{6\magentabox} \in \B Row 6, Magenta Patch
u1{0,1}u_{1\brickbox} \in \B Row 1, Brick Patch
u2{0,1}u_{2\brickbox} \in \B Row 2, Brick Patch
u3{0,1}u_{3\brickbox} \in \B Row 3, Brick Patch
u4{0,1}u_{4\brickbox} \in \B Row 4, Brick Patch
u5{0,1}u_{5\brickbox} \in \B Row 5, Brick Patch
u6{0,1}u_{6\brickbox} \in \B Row 6, Brick Patch
u1{0,1}u_{1\brownbox} \in \B Row 1, Brown Patch
u2{0,1}u_{2\brownbox} \in \B Row 2, Brown Patch
u3{0,1}u_{3\brownbox} \in \B Row 3, Brown Patch
u4{0,1}u_{4\brownbox} \in \B Row 4, Brown Patch
u5{0,1}u_{5\brownbox} \in \B Row 5, Brown Patch
u6{0,1}u_{6\brownbox} \in \B Row 6, Brown Patch
v1{0,1}v_{1\yellowbox} \in \B Column 1, Yellow Patch
v2{0,1}v_{2\yellowbox} \in \B Column 2, Yellow Patch
v3{0,1}v_{3\yellowbox} \in \B Column 3, Yellow Patch
v4{0,1}v_{4\yellowbox} \in \B Column 4, Yellow Patch
v5{0,1}v_{5\yellowbox} \in \B Column 5, Yellow Patch
v6{0,1}v_{6\yellowbox} \in \B Column 6, Yellow Patch
v1{0,1}v_{1\tealbox} \in \B Column 1, Tealbox Patch
v2{0,1}v_{2\tealbox} \in \B Column 2, Tealbox Patch
v3{0,1}v_{3\tealbox} \in \B Column 3, Tealbox Patch
v4{0,1}v_{4\tealbox} \in \B Column 4, Tealbox Patch
v5{0,1}v_{5\tealbox} \in \B Column 5, Tealbox Patch
v6{0,1}v_{6\tealbox} \in \B Column 6, Tealbox Patch
v1{0,1}v_{1\purplebox} \in \B Column 1, Purple Patch
v2{0,1}v_{2\purplebox} \in \B Column 2, Purple Patch
v3{0,1}v_{3\purplebox} \in \B Column 3, Purple Patch
v4{0,1}v_{4\purplebox} \in \B Column 4, Purple Patch
v5{0,1}v_{5\purplebox} \in \B Column 5, Purple Patch
v6{0,1}v_{6\purplebox} \in \B Column 6, Purple Patch
v1{0,1}v_{1\greenbox} \in \B Column 1, Green Patch
v2{0,1}v_{2\greenbox} \in \B Column 2, Green Patch
v3{0,1}v_{3\greenbox} \in \B Column 3, Green Patch
v4{0,1}v_{4\greenbox} \in \B Column 4, Green Patch
v5{0,1}v_{5\greenbox} \in \B Column 5, Green Patch
v6{0,1}v_{6\greenbox} \in \B Column 6, Green Patch
v1{0,1}v_{1\orangebox} \in \B Column 1, Orange Patch
v2{0,1}v_{2\orangebox} \in \B Column 2, Orange Patch
v3{0,1}v_{3\orangebox} \in \B Column 3, Orange Patch
v4{0,1}v_{4\orangebox} \in \B Column 4, Orange Patch
v5{0,1}v_{5\orangebox} \in \B Column 5, Orange Patch
v6{0,1}v_{6\orangebox} \in \B Column 6, Orange Patch
v1{0,1}v_{1\redbox} \in \B Column 1, Red Patch
v2{0,1}v_{2\redbox} \in \B Column 2, Red Patch
v3{0,1}v_{3\redbox} \in \B Column 3, Red Patch
v4{0,1}v_{4\redbox} \in \B Column 4, Red Patch
v5{0,1}v_{5\redbox} \in \B Column 5, Red Patch
v6{0,1}v_{6\redbox} \in \B Column 6, Red Patch
v1{0,1}v_{1\bluebox} \in \B Column 1, Blue Patch
v2{0,1}v_{2\bluebox} \in \B Column 2, Blue Patch
v3{0,1}v_{3\bluebox} \in \B Column 3, Blue Patch
v4{0,1}v_{4\bluebox} \in \B Column 4, Blue Patch
v5{0,1}v_{5\bluebox} \in \B Column 5, Blue Patch
v6{0,1}v_{6\bluebox} \in \B Column 6, Blue Patch
v1{0,1}v_{1\magentabox} \in \B Column 1, Magenta Patch
v2{0,1}v_{2\magentabox} \in \B Column 2, Magenta Patch
v3{0,1}v_{3\magentabox} \in \B Column 3, Magenta Patch
v4{0,1}v_{4\magentabox} \in \B Column 4, Magenta Patch
v5{0,1}v_{5\magentabox} \in \B Column 5, Magenta Patch
v6{0,1}v_{6\magentabox} \in \B Column 6, Magenta Patch
v1{0,1}v_{1\brickbox} \in \B Column 1, Brick Patch
v2{0,1}v_{2\brickbox} \in \B Column 2, Brick Patch
v3{0,1}v_{3\brickbox} \in \B Column 3, Brick Patch
v4{0,1}v_{4\brickbox} \in \B Column 4, Brick Patch
v5{0,1}v_{5\brickbox} \in \B Column 5, Brick Patch
v6{0,1}v_{6\brickbox} \in \B Column 6, Brick Patch
v1{0,1}v_{1\brownbox} \in \B Column 1, Brown Patch
v2{0,1}v_{2\brownbox} \in \B Column 2, Brown Patch
v3{0,1}v_{3\brownbox} \in \B Column 3, Brown Patch
v4{0,1}v_{4\brownbox} \in \B Column 4, Brown Patch
v5{0,1}v_{5\brownbox} \in \B Column 5, Brown Patch
v6{0,1}v_{6\brownbox} \in \B Column 6, Brown Patch
x11{0,1}x_{11\yellowbox} \in \B Square (1,1), Yellow Patch
x12{0,1}x_{12\yellowbox} \in \B Square (1,2), Yellow Patch
x13{0,1}x_{13\yellowbox} \in \B Square (1,3), Yellow Patch
x14{0,1}x_{14\yellowbox} \in \B Square (1,4), Yellow Patch
x15{0,1}x_{15\yellowbox} \in \B Square (1,5), Yellow Patch
x16{0,1}x_{16\yellowbox} \in \B Square (1,6), Yellow Patch
x21{0,1}x_{21\yellowbox} \in \B Square (2,1), Yellow Patch
x22{0,1}x_{22\yellowbox} \in \B Square (2,2), Yellow Patch
x23{0,1}x_{23\yellowbox} \in \B Square (2,3), Yellow Patch
x24{0,1}x_{24\yellowbox} \in \B Square (2,4), Yellow Patch
x25{0,1}x_{25\yellowbox} \in \B Square (2,5), Yellow Patch
x26{0,1}x_{26\yellowbox} \in \B Square (2,6), Yellow Patch
x31{0,1}x_{31\yellowbox} \in \B Square (3,1), Yellow Patch
x32{0,1}x_{32\yellowbox} \in \B Square (3,2), Yellow Patch
x33{0,1}x_{33\yellowbox} \in \B Square (3,3), Yellow Patch
x34{0,1}x_{34\yellowbox} \in \B Square (3,4), Yellow Patch
x35{0,1}x_{35\yellowbox} \in \B Square (3,5), Yellow Patch
x36{0,1}x_{36\yellowbox} \in \B Square (3,6), Yellow Patch
x41{0,1}x_{41\yellowbox} \in \B Square (4,1), Yellow Patch
x42{0,1}x_{42\yellowbox} \in \B Square (4,2), Yellow Patch
x43{0,1}x_{43\yellowbox} \in \B Square (4,3), Yellow Patch
x44{0,1}x_{44\yellowbox} \in \B Square (4,4), Yellow Patch
x45{0,1}x_{45\yellowbox} \in \B Square (4,5), Yellow Patch
x46{0,1}x_{46\yellowbox} \in \B Square (4,6), Yellow Patch
x51{0,1}x_{51\yellowbox} \in \B Square (5,1), Yellow Patch
x52{0,1}x_{52\yellowbox} \in \B Square (5,2), Yellow Patch
x53{0,1}x_{53\yellowbox} \in \B Square (5,3), Yellow Patch
x54{0,1}x_{54\yellowbox} \in \B Square (5,4), Yellow Patch
x55{0,1}x_{55\yellowbox} \in \B Square (5,5), Yellow Patch
x56{0,1}x_{56\yellowbox} \in \B Square (5,6), Yellow Patch
x61{0,1}x_{61\yellowbox} \in \B Square (6,1), Yellow Patch
x62{0,1}x_{62\yellowbox} \in \B Square (6,2), Yellow Patch
x63{0,1}x_{63\yellowbox} \in \B Square (6,3), Yellow Patch
x64{0,1}x_{64\yellowbox} \in \B Square (6,4), Yellow Patch
x65{0,1}x_{65\yellowbox} \in \B Square (6,5), Yellow Patch
x66{0,1}x_{66\yellowbox} \in \B Square (6,6), Yellow Patch
x11{0,1}x_{11\tealbox} \in \B Square (1,1), Teal
x12{0,1}x_{12\tealbox} \in \B Square (1,2), Teal
x13{0,1}x_{13\tealbox} \in \B Square (1,3), Teal
x14{0,1}x_{14\tealbox} \in \B Square (1,4), Teal
x15{0,1}x_{15\tealbox} \in \B Square (1,5), Teal
x16{0,1}x_{16\tealbox} \in \B Square (1,6), Teal
x21{0,1}x_{21\tealbox} \in \B Square (2,1), Teal
x22{0,1}x_{22\tealbox} \in \B Square (2,2), Teal
x23{0,1}x_{23\tealbox} \in \B Square (2,3), Teal
x24{0,1}x_{24\tealbox} \in \B Square (2,4), Teal
x25{0,1}x_{25\tealbox} \in \B Square (2,5), Teal
x26{0,1}x_{26\tealbox} \in \B Square (2,6), Teal
x31{0,1}x_{31\tealbox} \in \B Square (3,1), Teal
x32{0,1}x_{32\tealbox} \in \B Square (3,2), Teal
x33{0,1}x_{33\tealbox} \in \B Square (3,3), Teal
x34{0,1}x_{34\tealbox} \in \B Square (3,4), Teal
x35{0,1}x_{35\tealbox} \in \B Square (3,5), Teal
x36{0,1}x_{36\tealbox} \in \B Square (3,6), Teal
x41{0,1}x_{41\tealbox} \in \B Square (4,1), Teal
x42{0,1}x_{42\tealbox} \in \B Square (4,2), Teal
x43{0,1}x_{43\tealbox} \in \B Square (4,3), Teal
x44{0,1}x_{44\tealbox} \in \B Square (4,4), Teal
x45{0,1}x_{45\tealbox} \in \B Square (4,5), Teal
x46{0,1}x_{46\tealbox} \in \B Square (4,6), Teal
x51{0,1}x_{51\tealbox} \in \B Square (5,1), Teal
x52{0,1}x_{52\tealbox} \in \B Square (5,2), Teal
x53{0,1}x_{53\tealbox} \in \B Square (5,3), Teal
x54{0,1}x_{54\tealbox} \in \B Square (5,4), Teal
x55{0,1}x_{55\tealbox} \in \B Square (5,5), Teal
x56{0,1}x_{56\tealbox} \in \B Square (5,6), Teal
x61{0,1}x_{61\tealbox} \in \B Square (6,1), Teal
x62{0,1}x_{62\tealbox} \in \B Square (6,2), Teal
x63{0,1}x_{63\tealbox} \in \B Square (6,3), Teal
x64{0,1}x_{64\tealbox} \in \B Square (6,4), Teal
x65{0,1}x_{65\tealbox} \in \B Square (6,5), Teal
x66{0,1}x_{66\tealbox} \in \B Square (6,6), Teal
x11{0,1}x_{11\purplebox} \in \B Square (1,1), Purple Patch
x12{0,1}x_{12\purplebox} \in \B Square (1,2), Purple Patch
x13{0,1}x_{13\purplebox} \in \B Square (1,3), Purple Patch
x14{0,1}x_{14\purplebox} \in \B Square (1,4), Purple Patch
x15{0,1}x_{15\purplebox} \in \B Square (1,5), Purple Patch
x16{0,1}x_{16\purplebox} \in \B Square (1,6), Purple Patch
x21{0,1}x_{21\purplebox} \in \B Square (2,1), Purple Patch
x22{0,1}x_{22\purplebox} \in \B Square (2,2), Purple Patch
x23{0,1}x_{23\purplebox} \in \B Square (2,3), Purple Patch
x24{0,1}x_{24\purplebox} \in \B Square (2,4), Purple Patch
x25{0,1}x_{25\purplebox} \in \B Square (2,5), Purple Patch
x26{0,1}x_{26\purplebox} \in \B Square (2,6), Purple Patch
x31{0,1}x_{31\purplebox} \in \B Square (3,1), Purple Patch
x32{0,1}x_{32\purplebox} \in \B Square (3,2), Purple Patch
x33{0,1}x_{33\purplebox} \in \B Square (3,3), Purple Patch
x34{0,1}x_{34\purplebox} \in \B Square (3,4), Purple Patch
x35{0,1}x_{35\purplebox} \in \B Square (3,5), Purple Patch
x36{0,1}x_{36\purplebox} \in \B Square (3,6), Purple Patch
x41{0,1}x_{41\purplebox} \in \B Square (4,1), Purple Patch
x42{0,1}x_{42\purplebox} \in \B Square (4,2), Purple Patch
x43{0,1}x_{43\purplebox} \in \B Square (4,3), Purple Patch
x44{0,1}x_{44\purplebox} \in \B Square (4,4), Purple Patch
x45{0,1}x_{45\purplebox} \in \B Square (4,5), Purple Patch
x46{0,1}x_{46\purplebox} \in \B Square (4,6), Purple Patch
x51{0,1}x_{51\purplebox} \in \B Square (5,1), Purple Patch
x52{0,1}x_{52\purplebox} \in \B Square (5,2), Purple Patch
x53{0,1}x_{53\purplebox} \in \B Square (5,3), Purple Patch
x54{0,1}x_{54\purplebox} \in \B Square (5,4), Purple Patch
x55{0,1}x_{55\purplebox} \in \B Square (5,5), Purple Patch
x56{0,1}x_{56\purplebox} \in \B Square (5,6), Purple Patch
x61{0,1}x_{61\purplebox} \in \B Square (6,1), Purple Patch
x62{0,1}x_{62\purplebox} \in \B Square (6,2), Purple Patch
x63{0,1}x_{63\purplebox} \in \B Square (6,3), Purple Patch
x64{0,1}x_{64\purplebox} \in \B Square (6,4), Purple Patch
x65{0,1}x_{65\purplebox} \in \B Square (6,5), Purple Patch
x66{0,1}x_{66\purplebox} \in \B Square (6,6), Purple Patch
x11{0,1}x_{11\greenbox} \in \B Square (1,1), Green Patch
x12{0,1}x_{12\greenbox} \in \B Square (1,2), Green Patch
x13{0,1}x_{13\greenbox} \in \B Square (1,3), Green Patch
x14{0,1}x_{14\greenbox} \in \B Square (1,4), Green Patch
x15{0,1}x_{15\greenbox} \in \B Square (1,5), Green Patch
x16{0,1}x_{16\greenbox} \in \B Square (1,6), Green Patch
x21{0,1}x_{21\greenbox} \in \B Square (2,1), Green Patch
x22{0,1}x_{22\greenbox} \in \B Square (2,2), Green Patch
x23{0,1}x_{23\greenbox} \in \B Square (2,3), Green Patch
x24{0,1}x_{24\greenbox} \in \B Square (2,4), Green Patch
x25{0,1}x_{25\greenbox} \in \B Square (2,5), Green Patch
x26{0,1}x_{26\greenbox} \in \B Square (2,6), Green Patch
x31{0,1}x_{31\greenbox} \in \B Square (3,1), Green Patch
x32{0,1}x_{32\greenbox} \in \B Square (3,2), Green Patch
x33{0,1}x_{33\greenbox} \in \B Square (3,3), Green Patch
x34{0,1}x_{34\greenbox} \in \B Square (3,4), Green Patch
x35{0,1}x_{35\greenbox} \in \B Square (3,5), Green Patch
x36{0,1}x_{36\greenbox} \in \B Square (3,6), Green Patch
x41{0,1}x_{41\greenbox} \in \B Square (4,1), Green Patch
x42{0,1}x_{42\greenbox} \in \B Square (4,2), Green Patch
x43{0,1}x_{43\greenbox} \in \B Square (4,3), Green Patch
x44{0,1}x_{44\greenbox} \in \B Square (4,4), Green Patch
x45{0,1}x_{45\greenbox} \in \B Square (4,5), Green Patch
x46{0,1}x_{46\greenbox} \in \B Square (4,6), Green Patch
x51{0,1}x_{51\greenbox} \in \B Square (5,1), Green Patch
x52{0,1}x_{52\greenbox} \in \B Square (5,2), Green Patch
x53{0,1}x_{53\greenbox} \in \B Square (5,3), Green Patch
x54{0,1}x_{54\greenbox} \in \B Square (5,4), Green Patch
x55{0,1}x_{55\greenbox} \in \B Square (5,5), Green Patch
x56{0,1}x_{56\greenbox} \in \B Square (5,6), Green Patch
x61{0,1}x_{61\greenbox} \in \B Square (6,1), Green Patch
x62{0,1}x_{62\greenbox} \in \B Square (6,2), Green Patch
x63{0,1}x_{63\greenbox} \in \B Square (6,3), Green Patch
x64{0,1}x_{64\greenbox} \in \B Square (6,4), Green Patch
x65{0,1}x_{65\greenbox} \in \B Square (6,5), Green Patch
x66{0,1}x_{66\greenbox} \in \B Square (6,6), Green Patch
x11{0,1}x_{11\orangebox} \in \B Square (1,1), Orange Patch
x12{0,1}x_{12\orangebox} \in \B Square (1,2), Orange Patch
x13{0,1}x_{13\orangebox} \in \B Square (1,3), Orange Patch
x14{0,1}x_{14\orangebox} \in \B Square (1,4), Orange Patch
x15{0,1}x_{15\orangebox} \in \B Square (1,5), Orange Patch
x16{0,1}x_{16\orangebox} \in \B Square (1,6), Orange Patch
x21{0,1}x_{21\orangebox} \in \B Square (2,1), Orange Patch
x22{0,1}x_{22\orangebox} \in \B Square (2,2), Orange Patch
x23{0,1}x_{23\orangebox} \in \B Square (2,3), Orange Patch
x24{0,1}x_{24\orangebox} \in \B Square (2,4), Orange Patch
x25{0,1}x_{25\orangebox} \in \B Square (2,5), Orange Patch
x26{0,1}x_{26\orangebox} \in \B Square (2,6), Orange Patch
x31{0,1}x_{31\orangebox} \in \B Square (3,1), Orange Patch
x32{0,1}x_{32\orangebox} \in \B Square (3,2), Orange Patch
x33{0,1}x_{33\orangebox} \in \B Square (3,3), Orange Patch
x34{0,1}x_{34\orangebox} \in \B Square (3,4), Orange Patch
x35{0,1}x_{35\orangebox} \in \B Square (3,5), Orange Patch
x36{0,1}x_{36\orangebox} \in \B Square (3,6), Orange Patch
x41{0,1}x_{41\orangebox} \in \B Square (4,1), Orange Patch
x42{0,1}x_{42\orangebox} \in \B Square (4,2), Orange Patch
x43{0,1}x_{43\orangebox} \in \B Square (4,3), Orange Patch
x44{0,1}x_{44\orangebox} \in \B Square (4,4), Orange Patch
x45{0,1}x_{45\orangebox} \in \B Square (4,5), Orange Patch
x46{0,1}x_{46\orangebox} \in \B Square (4,6), Orange Patch
x51{0,1}x_{51\orangebox} \in \B Square (5,1), Orange Patch
x52{0,1}x_{52\orangebox} \in \B Square (5,2), Orange Patch
x53{0,1}x_{53\orangebox} \in \B Square (5,3), Orange Patch
x54{0,1}x_{54\orangebox} \in \B Square (5,4), Orange Patch
x55{0,1}x_{55\orangebox} \in \B Square (5,5), Orange Patch
x56{0,1}x_{56\orangebox} \in \B Square (5,6), Orange Patch
x61{0,1}x_{61\orangebox} \in \B Square (6,1), Orange Patch
x62{0,1}x_{62\orangebox} \in \B Square (6,2), Orange Patch
x63{0,1}x_{63\orangebox} \in \B Square (6,3), Orange Patch
x64{0,1}x_{64\orangebox} \in \B Square (6,4), Orange Patch
x65{0,1}x_{65\orangebox} \in \B Square (6,5), Orange Patch
x66{0,1}x_{66\orangebox} \in \B Square (6,6), Orange Patch
x11{0,1}x_{11\redbox} \in \B Square (1,1), Red Patch
x12{0,1}x_{12\redbox} \in \B Square (1,2), Red Patch
x13{0,1}x_{13\redbox} \in \B Square (1,3), Red Patch
x14{0,1}x_{14\redbox} \in \B Square (1,4), Red Patch
x15{0,1}x_{15\redbox} \in \B Square (1,5), Red Patch
x16{0,1}x_{16\redbox} \in \B Square (1,6), Red Patch
x21{0,1}x_{21\redbox} \in \B Square (2,1), Red Patch
x22{0,1}x_{22\redbox} \in \B Square (2,2), Red Patch
x23{0,1}x_{23\redbox} \in \B Square (2,3), Red Patch
x24{0,1}x_{24\redbox} \in \B Square (2,4), Red Patch
x25{0,1}x_{25\redbox} \in \B Square (2,5), Red Patch
x26{0,1}x_{26\redbox} \in \B Square (2,6), Red Patch
x31{0,1}x_{31\redbox} \in \B Square (3,1), Red Patch
x32{0,1}x_{32\redbox} \in \B Square (3,2), Red Patch
x33{0,1}x_{33\redbox} \in \B Square (3,3), Red Patch
x34{0,1}x_{34\redbox} \in \B Square (3,4), Red Patch
x35{0,1}x_{35\redbox} \in \B Square (3,5), Red Patch
x36{0,1}x_{36\redbox} \in \B Square (3,6), Red Patch
x41{0,1}x_{41\redbox} \in \B Square (4,1), Red Patch
x42{0,1}x_{42\redbox} \in \B Square (4,2), Red Patch
x43{0,1}x_{43\redbox} \in \B Square (4,3), Red Patch
x44{0,1}x_{44\redbox} \in \B Square (4,4), Red Patch
x45{0,1}x_{45\redbox} \in \B Square (4,5), Red Patch
x46{0,1}x_{46\redbox} \in \B Square (4,6), Red Patch
x51{0,1}x_{51\redbox} \in \B Square (5,1), Red Patch
x52{0,1}x_{52\redbox} \in \B Square (5,2), Red Patch
x53{0,1}x_{53\redbox} \in \B Square (5,3), Red Patch
x54{0,1}x_{54\redbox} \in \B Square (5,4), Red Patch
x55{0,1}x_{55\redbox} \in \B Square (5,5), Red Patch
x56{0,1}x_{56\redbox} \in \B Square (5,6), Red Patch
x61{0,1}x_{61\redbox} \in \B Square (6,1), Red Patch
x62{0,1}x_{62\redbox} \in \B Square (6,2), Red Patch
x63{0,1}x_{63\redbox} \in \B Square (6,3), Red Patch
x64{0,1}x_{64\redbox} \in \B Square (6,4), Red Patch
x65{0,1}x_{65\redbox} \in \B Square (6,5), Red Patch
x66{0,1}x_{66\redbox} \in \B Square (6,6), Red Patch
x11{0,1}x_{11\bluebox} \in \B Square (1,1), Blue Patch
x12{0,1}x_{12\bluebox} \in \B Square (1,2), Blue Patch
x13{0,1}x_{13\bluebox} \in \B Square (1,3), Blue Patch
x14{0,1}x_{14\bluebox} \in \B Square (1,4), Blue Patch
x15{0,1}x_{15\bluebox} \in \B Square (1,5), Blue Patch
x16{0,1}x_{16\bluebox} \in \B Square (1,6), Blue Patch
x21{0,1}x_{21\bluebox} \in \B Square (2,1), Blue Patch
x22{0,1}x_{22\bluebox} \in \B Square (2,2), Blue Patch
x23{0,1}x_{23\bluebox} \in \B Square (2,3), Blue Patch
x24{0,1}x_{24\bluebox} \in \B Square (2,4), Blue Patch
x25{0,1}x_{25\bluebox} \in \B Square (2,5), Blue Patch
x26{0,1}x_{26\bluebox} \in \B Square (2,6), Blue Patch
x31{0,1}x_{31\bluebox} \in \B Square (3,1), Blue Patch
x32{0,1}x_{32\bluebox} \in \B Square (3,2), Blue Patch
x33{0,1}x_{33\bluebox} \in \B Square (3,3), Blue Patch
x34{0,1}x_{34\bluebox} \in \B Square (3,4), Blue Patch
x35{0,1}x_{35\bluebox} \in \B Square (3,5), Blue Patch
x36{0,1}x_{36\bluebox} \in \B Square (3,6), Blue Patch
x41{0,1}x_{41\bluebox} \in \B Square (4,1), Blue Patch
x42{0,1}x_{42\bluebox} \in \B Square (4,2), Blue Patch
x43{0,1}x_{43\bluebox} \in \B Square (4,3), Blue Patch
x44{0,1}x_{44\bluebox} \in \B Square (4,4), Blue Patch
x45{0,1}x_{45\bluebox} \in \B Square (4,5), Blue Patch
x46{0,1}x_{46\bluebox} \in \B Square (4,6), Blue Patch
x51{0,1}x_{51\bluebox} \in \B Square (5,1), Blue Patch
x52{0,1}x_{52\bluebox} \in \B Square (5,2), Blue Patch
x53{0,1}x_{53\bluebox} \in \B Square (5,3), Blue Patch
x54{0,1}x_{54\bluebox} \in \B Square (5,4), Blue Patch
x55{0,1}x_{55\bluebox} \in \B Square (5,5), Blue Patch
x56{0,1}x_{56\bluebox} \in \B Square (5,6), Blue Patch
x61{0,1}x_{61\bluebox} \in \B Square (6,1), Blue Patch
x62{0,1}x_{62\bluebox} \in \B Square (6,2), Blue Patch
x63{0,1}x_{63\bluebox} \in \B Square (6,3), Blue Patch
x64{0,1}x_{64\bluebox} \in \B Square (6,4), Blue Patch
x65{0,1}x_{65\bluebox} \in \B Square (6,5), Blue Patch
x66{0,1}x_{66\bluebox} \in \B Square (6,6), Blue Patch
x11{0,1}x_{11\magentabox} \in \B Square (1,1), Magenta Patch
x12{0,1}x_{12\magentabox} \in \B Square (1,2), Magenta Patch
x13{0,1}x_{13\magentabox} \in \B Square (1,3), Magenta Patch
x14{0,1}x_{14\magentabox} \in \B Square (1,4), Magenta Patch
x15{0,1}x_{15\magentabox} \in \B Square (1,5), Magenta Patch
x16{0,1}x_{16\magentabox} \in \B Square (1,6), Magenta Patch
x21{0,1}x_{21\magentabox} \in \B Square (2,1), Magenta Patch
x22{0,1}x_{22\magentabox} \in \B Square (2,2), Magenta Patch
x23{0,1}x_{23\magentabox} \in \B Square (2,3), Magenta Patch
x24{0,1}x_{24\magentabox} \in \B Square (2,4), Magenta Patch
x25{0,1}x_{25\magentabox} \in \B Square (2,5), Magenta Patch
x26{0,1}x_{26\magentabox} \in \B Square (2,6), Magenta Patch
x31{0,1}x_{31\magentabox} \in \B Square (3,1), Magenta Patch
x32{0,1}x_{32\magentabox} \in \B Square (3,2), Magenta Patch
x33{0,1}x_{33\magentabox} \in \B Square (3,3), Magenta Patch
x34{0,1}x_{34\magentabox} \in \B Square (3,4), Magenta Patch
x35{0,1}x_{35\magentabox} \in \B Square (3,5), Magenta Patch
x36{0,1}x_{36\magentabox} \in \B Square (3,6), Magenta Patch
x41{0,1}x_{41\magentabox} \in \B Square (4,1), Magenta Patch
x42{0,1}x_{42\magentabox} \in \B Square (4,2), Magenta Patch
x43{0,1}x_{43\magentabox} \in \B Square (4,3), Magenta Patch
x44{0,1}x_{44\magentabox} \in \B Square (4,4), Magenta Patch
x45{0,1}x_{45\magentabox} \in \B Square (4,5), Magenta Patch
x46{0,1}x_{46\magentabox} \in \B Square (4,6), Magenta Patch
x51{0,1}x_{51\magentabox} \in \B Square (5,1), Magenta Patch
x52{0,1}x_{52\magentabox} \in \B Square (5,2), Magenta Patch
x53{0,1}x_{53\magentabox} \in \B Square (5,3), Magenta Patch
x54{0,1}x_{54\magentabox} \in \B Square (5,4), Magenta Patch
x55{0,1}x_{55\magentabox} \in \B Square (5,5), Magenta Patch
x56{0,1}x_{56\magentabox} \in \B Square (5,6), Magenta Patch
x61{0,1}x_{61\magentabox} \in \B Square (6,1), Magenta Patch
x62{0,1}x_{62\magentabox} \in \B Square (6,2), Magenta Patch
x63{0,1}x_{63\magentabox} \in \B Square (6,3), Magenta Patch
x64{0,1}x_{64\magentabox} \in \B Square (6,4), Magenta Patch
x65{0,1}x_{65\magentabox} \in \B Square (6,5), Magenta Patch
x66{0,1}x_{66\magentabox} \in \B Square (6,6), Magenta Patch
x11{0,1}x_{11\brickbox} \in \B Square (1,1), Brick Patch
x12{0,1}x_{12\brickbox} \in \B Square (1,2), Brick Patch
x13{0,1}x_{13\brickbox} \in \B Square (1,3), Brick Patch
x14{0,1}x_{14\brickbox} \in \B Square (1,4), Brick Patch
x15{0,1}x_{15\brickbox} \in \B Square (1,5), Brick Patch
x16{0,1}x_{16\brickbox} \in \B Square (1,6), Brick Patch
x21{0,1}x_{21\brickbox} \in \B Square (2,1), Brick Patch
x22{0,1}x_{22\brickbox} \in \B Square (2,2), Brick Patch
x23{0,1}x_{23\brickbox} \in \B Square (2,3), Brick Patch
x24{0,1}x_{24\brickbox} \in \B Square (2,4), Brick Patch
x25{0,1}x_{25\brickbox} \in \B Square (2,5), Brick Patch
x26{0,1}x_{26\brickbox} \in \B Square (2,6), Brick Patch
x31{0,1}x_{31\brickbox} \in \B Square (3,1), Brick Patch
x32{0,1}x_{32\brickbox} \in \B Square (3,2), Brick Patch
x33{0,1}x_{33\brickbox} \in \B Square (3,3), Brick Patch
x34{0,1}x_{34\brickbox} \in \B Square (3,4), Brick Patch
x35{0,1}x_{35\brickbox} \in \B Square (3,5), Brick Patch
x36{0,1}x_{36\brickbox} \in \B Square (3,6), Brick Patch
x41{0,1}x_{41\brickbox} \in \B Square (4,1), Brick Patch
x42{0,1}x_{42\brickbox} \in \B Square (4,2), Brick Patch
x43{0,1}x_{43\brickbox} \in \B Square (4,3), Brick Patch
x44{0,1}x_{44\brickbox} \in \B Square (4,4), Brick Patch
x45{0,1}x_{45\brickbox} \in \B Square (4,5), Brick Patch
x46{0,1}x_{46\brickbox} \in \B Square (4,6), Brick Patch
x51{0,1}x_{51\brickbox} \in \B Square (5,1), Brick Patch
x52{0,1}x_{52\brickbox} \in \B Square (5,2), Brick Patch
x53{0,1}x_{53\brickbox} \in \B Square (5,3), Brick Patch
x54{0,1}x_{54\brickbox} \in \B Square (5,4), Brick Patch
x55{0,1}x_{55\brickbox} \in \B Square (5,5), Brick Patch
x56{0,1}x_{56\brickbox} \in \B Square (5,6), Brick Patch
x61{0,1}x_{61\brickbox} \in \B Square (6,1), Brick Patch
x62{0,1}x_{62\brickbox} \in \B Square (6,2), Brick Patch
x63{0,1}x_{63\brickbox} \in \B Square (6,3), Brick Patch
x64{0,1}x_{64\brickbox} \in \B Square (6,4), Brick Patch
x65{0,1}x_{65\brickbox} \in \B Square (6,5), Brick Patch
x66{0,1}x_{66\brickbox} \in \B Square (6,6), Brick Patch
x11{0,1}x_{11\brownbox} \in \B Square (1,1), Brown Patch
x12{0,1}x_{12\brownbox} \in \B Square (1,2), Brown Patch
x13{0,1}x_{13\brownbox} \in \B Square (1,3), Brown Patch
x14{0,1}x_{14\brownbox} \in \B Square (1,4), Brown Patch
x15{0,1}x_{15\brownbox} \in \B Square (1,5), Brown Patch
x16{0,1}x_{16\brownbox} \in \B Square (1,6), Brown Patch
x21{0,1}x_{21\brownbox} \in \B Square (2,1), Brown Patch
x22{0,1}x_{22\brownbox} \in \B Square (2,2), Brown Patch
x23{0,1}x_{23\brownbox} \in \B Square (2,3), Brown Patch
x24{0,1}x_{24\brownbox} \in \B Square (2,4), Brown Patch
x25{0,1}x_{25\brownbox} \in \B Square (2,5), Brown Patch
x26{0,1}x_{26\brownbox} \in \B Square (2,6), Brown Patch
x31{0,1}x_{31\brownbox} \in \B Square (3,1), Brown Patch
x32{0,1}x_{32\brownbox} \in \B Square (3,2), Brown Patch
x33{0,1}x_{33\brownbox} \in \B Square (3,3), Brown Patch
x34{0,1}x_{34\brownbox} \in \B Square (3,4), Brown Patch
x35{0,1}x_{35\brownbox} \in \B Square (3,5), Brown Patch
x36{0,1}x_{36\brownbox} \in \B Square (3,6), Brown Patch
x41{0,1}x_{41\brownbox} \in \B Square (4,1), Brown Patch
x42{0,1}x_{42\brownbox} \in \B Square (4,2), Brown Patch
x43{0,1}x_{43\brownbox} \in \B Square (4,3), Brown Patch
x44{0,1}x_{44\brownbox} \in \B Square (4,4), Brown Patch
x45{0,1}x_{45\brownbox} \in \B Square (4,5), Brown Patch
x46{0,1}x_{46\brownbox} \in \B Square (4,6), Brown Patch
x51{0,1}x_{51\brownbox} \in \B Square (5,1), Brown Patch
x52{0,1}x_{52\brownbox} \in \B Square (5,2), Brown Patch
x53{0,1}x_{53\brownbox} \in \B Square (5,3), Brown Patch
x54{0,1}x_{54\brownbox} \in \B Square (5,4), Brown Patch
x55{0,1}x_{55\brownbox} \in \B Square (5,5), Brown Patch
x56{0,1}x_{56\brownbox} \in \B Square (5,6), Brown Patch
x61{0,1}x_{61\brownbox} \in \B Square (6,1), Brown Patch
x62{0,1}x_{62\brownbox} \in \B Square (6,2), Brown Patch
x63{0,1}x_{63\brownbox} \in \B Square (6,3), Brown Patch
x64{0,1}x_{64\brownbox} \in \B Square (6,4), Brown Patch
x65{0,1}x_{65\brownbox} \in \B Square (6,5), Brown Patch
x66{0,1}x_{66\brownbox} \in \B Square (6,6), Brown Patch

Solving Patches

Let’s import the Patches class from linkedin_games library that was design to solve the Patches game by using LOP modeling with Pyomo.

The Patches class needs two inputs to be instantiated:

grid_dims
The grid dimensions of the Patches game.
seeds
A dictionary of patch seeds on the grid, which must follow the bellow structure:
{
    (row, column) : {
        "color": "color name or its hex code",
        "area": int | None
        "shape": "vertical" | "horizontal" | "square" | "any" | None 
    }, ...
}
from linkedin_games import Patches


seeds = {
    (1,2): {"color": "#846A0B", "area": 2},
    (1,4): {"color": "#096B78", "area": 6},
    (2,6): {"color": "#5A3DB1", "area": 2},
    (3,1): {"color": "#0A7541", "area": 6},
    (3,3): {"color": "#EF6C00", "area": 2, "shape":"vertical"},
    (4,4): {"color": "#E30102", "area": 4, "shape":"square"},
    (4,6): {"color": "#097BB1", "area": 2},
    (5,1): {"color": "#A01E4E", "area": 2},
    (6,3): {"color": "#9B3C1C", "area": 6},
    (6,5): {"color": "#503B36", "area": 4},
}
patches = Patches(6, seeds)

The Pacthes class features the model attribute, which implements the PatchesModel object to structure the Linear Optimization logic behind the Patches’ game.

_model.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from typing import Any
import pyomo.environ as pyo
from ..base.shikaku._model import ShikakuModel
from ._patch_shape import PatchShape


class PatchesModel(ShikakuModel):
    """The Linear Optimization model for the Patches game."""

    def __init__(self, grid_dims: tuple[int, int], seeds: list[dict[str, Any]]) -> None:
        """
        Args:
            grid_dims: Grid dimensionas as `(rows, columns)` tuple.
            seeds: Patch seeds on the grid as a dictionary of
                `(row, column): {"color": str, "area": int, "shape": str}`.
        """
        super().__init__(grid_dims, seeds)

        # RANGE SETS
        K = self.K # Rectangles

        # COMPOSITE SETS
        V = self.V = pyo.Set( # Vertical rectangles
            initialize=[seed["color_code"] for seed in seeds if seed["shape"] == PatchShape.VERTICAL], domain=K
        )
        H = self.H = pyo.Set( # Horizontal rectangles
            initialize=[seed["color_code"] for seed in seeds if seed["shape"] == PatchShape.HORIZONTAL], domain=K
        )
        Q = self.Q = pyo.Set( # Squared rectangles
            initialize=[seed["color_code"] for seed in seeds if seed["shape"] == PatchShape.SQUARE], domain=K
        )

        # DECISION VARIABLES
        h = self.h # Height of rectangle k
        w = self.w # Width of rectangle k

        # CONSTRAINTS
        ## Rectangle Seed Constraints
        self.vertical_rectangles_constraints = pyo.Constraint(
            V, rule=lambda model, k: h[k] >= w[k] + 1
        )
        self.horizontal_rectangles_constraints = pyo.Constraint(
            H, rule=lambda model, k: w[k] >= h[k] + 1
        )
        self.square_rectangles_constraints = pyo.Constraint(
            Q, rule=lambda model, k: h[k] == w[k]
        )

Program 1:Creating the model with Pyomo components.

With the model built, the public method solve() calls the restricted method _set_solution() to save the solution to _grid and __patches attributes, which can be accessed by the public solution and patches attributes, respectively.

patches.py
1
    A game grid with some colored rectangle seeds that may state some features about the rectangles

Program 2:Saving the solution on grid and patch attributes after solving the game’s model.

patches.py
1
    A game grid with some colored rectangle seeds that may state some features about the rectangles

Program 3:Implementation of patches attribute.

With the solution obtained, the method show() plots the solved Patches’ grid.

patches.py
1
    A game grid with some colored rectangle seeds that may state some features about the rectangles

Program 4:Implementation of show() function.

So to solve the game and display its results, just call the public methods solve() and show(), at this order.

patches.solve()
patches.show()
Optimal solution found!
<Figure size 300x300 with 1 Axes>

Running above block, the method show() returns the solved game, which matches the official solution of Patches No. 16, as expected.

Patches solution

Figure 5:Solved instance visualization.