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 BannerLaunch Binder

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, which 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.

Problem Modeling

Ranges

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

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)∣∀i∈I,∀j∈J}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)∣i∈I,j∈J,k∈K}⊂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.
V⊆KV \subseteq K
Set of required vertical patches, i. e., patches whose height is greater than its width.
H⊆KH \subseteq K
Set of required horizontal patches, i. e., patches whose width is greater than its height.
Q⊆KQ \subseteq K
Set of required square patches, i. e., patches whose width is equal to its height.
A⊆KA \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:

lk∈I,∀k∈Kl_k \in I, \quad \forall k \in K
Index of the leftmost column of the patch kk.
tk∈J,∀k∈Kt_k \in J, \quad \forall k \in K
Index of the top row of the patch kk.
wk∈I,∀k∈Kw_k \in I, \quad \forall k \in K
Width of the patch kk.
hk∈J,∀k∈Kh_k \in J, \quad \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, \quad \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, \quad \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, \quad \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

ak∈Na_k \in \N
Required area for the patch k∈Ak \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.

MaxC\text{Max} \quad 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.
lk∈N,∀k∈Kl_k \in \N, \quad \forall k \in K
tk∈N,∀k∈Kt_k \in \N, \quad \forall k \in K
wk∈N,∀k∈Kw_k \in \N, \quad \forall k \in K
hk∈N,∀k∈Kh_k \in \N, \quad \forall k \in K
Binarity Constraints
The auxiliary decision variables must be binary.
uik∈{0,1},∀(i,k)∈I×Ku_{ik} \in \B, \quad \forall (i,k) \in I \times K
vjk∈{0,1},∀(j,k)∈J×Kv_{jk} \in \B, \quad \forall (j,k) \in J \times K
xijk∈{0,1},∀(i,j,k)∈I×J×Kx_{ijk} \in \B, \quad \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.

∑k∈Kxijk=1,∀(i,j)∈S\sum_{k \in K}{x_{ijk}} = 1, \quad \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.
tk≥1,∀k∈Kt_k \ge 1, \quad \forall k \in K
Bottom-Row-Position Constraints
For each patch kk, the position of its bottom row, given by the expression tk+hk−1t_k + h_k - 1, must be equal or less than the total amount of rows nn.
tk+hk−1≤n,∀k∈Kt_k + h_k - 1 \le n, \quad \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.
lk≥1,∀k∈Kl_k \ge 1, \quad \forall k \in K
Rightmost-Column-Position Constraints
For each patch kk, the position of its rightmost column, given by the expression lk+wk−1l_k + w_k - 1, must be equal or less than the total amount of columns mm.
lk+wk−1≤m,∀k∈Kl_k + w_k - 1 \le m, \quad \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.
tk−i≤M(1−uik),∀(i,k)∈I×Kt_k - i \le M(1 - u_{ik}), \quad \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+hk−1t_k + h_k - 1.
i−(tk+hk−1)≤M(1−uik),∀(i,k)∈I×Ki - (t_k + h_k - 1) \le M(1 - u_{ik}), \quad \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.
lk−j≤M(1−vjk),∀(j,k)∈J×Kl_k - j \le M(1 - v_{jk}), \quad \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+wk−1l_k + w_k - 1.
j−(lk+wk−1)≤M(1−vjk),∀(j,k)∈J×Kj - (l_k + w_k - 1) \le M(1 - v_{jk}), \quad \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.
∑i∈Iuik=hk,∀k∈K\sum_{i \in I}{u_{ik}} = h_k, \quad \forall k \in K
Width Constraints
The sum of all selected columns vjkv_{jk} for a patch kk must be equal to its width.
∑j∈Jvjk=wk,∀k∈K\sum_{j \in J}{v_{jk}} = w_k, \quad \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.
∑j∈Jxijk≤n⋅uik,∀(i,k)∈I×K\sum_{j \in J}{x_{ijk}} \le n \cdot u_{ik}, \quad \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.
∑i∈Ixijk≤m⋅vjk,∀(j,k)∈J×K\sum_{i \in I}{x_{ijk}} \le m \cdot v_{jk}, \quad \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.
xijk≥uik+vjk−1,∀(i,j,k)∈I×J×Kx_{ijk} \ge u_{ik} + v_{jk} - 1, \quad \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, \quad \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,∀k∈A\sum_{(i,j) \in S}{x_{ijk}} = a_k, \quad \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,∀k∈Vw_k < h_k, \quad \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,∀k∈Hw_k > h_k, \quad \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,∀k∈Qw_k = h_k, \quad \forall k \in Q

Abstract Model

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

MinC\text{Min} \quad C
S.t.:xijk≥uik+vjk−1,∀(i,j,k)∈I×J×Ktk≥1,∀k∈Ktk+hk−1≤n,∀k∈Klk≥1,∀k∈Klk+wk−1≤m,∀k∈Ktk−i≤m(1−uik),∀(i,k)∈I×Ki−(tk+hk−1)≤m(1−uik),∀(i,k)∈I×Klk−j≤n(1−vjk),∀(j,k)∈J×Kj−(lk+wk−1)≤n(1−vjk),∀(j,k)∈J×K∑i∈Iuik=hk,∀k∈K∑j∈Jvjk=wk,∀k∈K∑k∈Kxijk=1,∀(i,j)∈S∑j∈Jxijk≤nuik,∀(i,k)∈I×K∑i∈Ixijk≤mvjk,∀(j,k)∈J×Kxijk=1,∀(i,j,k)∈E∑(i,j)∈Sxijk=ak,∀k∈Awk<hk,∀k∈Vwk>hk,∀k∈Hwk=hk,∀k∈Qlk∈N,∀k∈Ktk∈N,∀k∈Kwk∈N,∀k∈Khk∈N,∀k∈Kuij∈{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, & \quad \forall (i,j,k) \in I \times J \times K \\ & t_k \ge 1, & \quad \forall k \in K \\ & t_k + h_k - 1 \le n, & \quad \forall k \in K \\ & l_k \ge 1, & \quad \forall k \in K \\ & l_k + w_k - 1 \le m, & \quad \forall k \in K \\ & t_k - i \le m(1-u_{ik}), & \quad \forall (i,k) \in I \times K \\ & i - (t_k + h_k - 1) \le m(1-u_{ik}), & \quad \forall (i,k) \in I \times K \\ & l_k - j \le n(1-v_{jk}), & \quad \forall (j,k) \in J \times K \\ & j - (l_k + w_k - 1) \le n(1-v_{jk}), & \quad \forall (j,k) \in J \times K \\ & \sum_{i \in I}{u_{ik}} = h_k, & \quad \forall k \in K \\ & \sum_{j \in J}{v_{jk}} = w_k, & \quad \forall k \in K \\ & \sum_{k \in K}{x_{ijk}} = 1, & \quad \forall (i,j) \in S \\ & \sum_{j \in J}{x_{ijk}} \le nu_{ik}, & \quad \forall (i,k) \in I \times K \\ & \sum_{i \in I}{x_{ijk}} \le mv_{jk}, & \quad \forall (j,k) \in J \times K \\ & x_{ijk} = 1, & \quad \forall (i,j,k) \in E \\ & \sum_{(i,j) \in S}{x_{ijk}} = a_k, & \quad \forall k \in A \\ & w_k < h_k, & \quad \forall k \in V \\ & w_k > h_k, & \quad \forall k \in H \\ & w_k = h_k, & \quad \forall k \in Q \\ & l_k \in \N, & \quad \forall k \in K \\ & t_k \in \N, & \quad \forall k \in K \\ & w_k \in \N, & \quad \forall k \in K \\ & h_k \in \N, & \quad \forall k \in K \\ & u_{ij} \in \B, & \quad \forall (i,k) \in I \times K \\ & v_{jk} \in \B, & \quad \forall (j,k) \in J \times K \\ & x_{ijk} \in \B, & \quad \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:

Min0\text{Min} \quad 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
t■≥1t_{\yellowbox} \ge 1 Yellow Patch
t■≥1t_{\tealbox} \ge 1 Teal Patch
t■≥1t_{\purplebox} \ge 1 Purple Patch
t■≥1t_{\greenbox} \ge 1 Green Patch
t■≥1t_{\orangebox} \ge 1 Orange Patch
t■≥1t_{\redbox} \ge 1 Red Patch
t■≥1t_{\bluebox} \ge 1 Blue Patch
t■≥1t_{\magentabox} \ge 1 Magenta Patch
t■≥1t_{\brickbox} \ge 1 Brick Patch
t■≥1t_{\brownbox} \ge 1 Brown Patch
Bottom Row Constraints
t■+h■−1≤6t_{\yellowbox} + h_{\yellowbox} - 1 \le 6 Yellow Patch
t■+h■−1≤6t_{\tealbox} + h_{\tealbox} - 1 \le 6 Teal Patch
t■+h■−1≤6t_{\purplebox} + h_{\purplebox} - 1 \le 6 Purple Patch
t■+h■−1≤6t_{\greenbox} + h_{\greenbox} - 1 \le 6 Green Patch
t■+h■−1≤6t_{\orangebox} + h_{\orangebox} - 1 \le 6 Orange Patch
t■+h■−1≤6t_{\redbox} + h_{\redbox} - 1 \le 6 Red Patch
t■+h■−1≤6t_{\bluebox} + h_{\bluebox} - 1 \le 6 Blue Patch
t■+h■−1≤6t_{\magentabox} + h_{\magentabox} - 1 \le 6 Magenta Patch
t■+h■−1≤6t_{\brickbox} + h_{\brickbox} - 1 \le 6 Brick Patch
t■+h■−1≤6t_{\brownbox} + h_{\brownbox} - 1 \le 6 Brown Patch
Leftmost Column Constraints
l■≥1l_{\yellowbox} \ge 1 Yellow Patch
l■≥1l_{\tealbox} \ge 1 Teal Patch
l■≥1l_{\purplebox} \ge 1 Purple Patch
l■≥1l_{\greenbox} \ge 1 Green Patch
l■≥1l_{\orangebox} \ge 1 Orange Patch
l■≥1l_{\redbox} \ge 1 Red Patch
l■≥1l_{\bluebox} \ge 1 Blue Patch
l■≥1l_{\magentabox} \ge 1 Magenta Patch
l■≥1l_{\brickbox} \ge 1 Brick Patch
l■≥1l_{\brownbox} \ge 1 Brown Patch
Rightmost Column Constraints
l■+w■−1≤6l_{\yellowbox} + w_{\yellowbox} - 1 \le 6 Yellow Patch
l■+w■−1≤6l_{\tealbox} + w_{\tealbox} - 1 \le 6 Teal Patch
l■+w■−1≤6l_{\purplebox} + w_{\purplebox} - 1 \le 6 Purple Patch
l■+w■−1≤6l_{\greenbox} + w_{\greenbox} - 1 \le 6 Green Patch
l■+w■−1≤6l_{\orangebox} + w_{\orangebox} - 1 \le 6 Orange Patch
l■+w■−1≤6l_{\redbox} + w_{\redbox} - 1 \le 6 Red Patch
l■+w■−1≤6l_{\bluebox} + w_{\bluebox} - 1 \le 6 Blue Patch
l■+w■−1≤6l_{\magentabox} + w_{\magentabox} - 1 \le 6 Magenta Patch
l■+w■−1≤6l_{\brickbox} + w_{\brickbox} - 1 \le 6 Brick Patch
l■+w■−1≤6l_{\brownbox} + w_{\brownbox} - 1 \le 6 Brown Patch
Top Boundary Constraints
t■−1≤6(1−u1■)t_{\yellowbox} - 1 \le 6(1-u_{1\yellowbox}) Row 1, Yellow Patch
t■−2≤6(1−u2■)t_{\yellowbox} - 2 \le 6(1-u_{2\yellowbox}) Row 2, Yellow Patch
t■−3≤6(1−u3■)t_{\yellowbox} - 3 \le 6(1-u_{3\yellowbox}) Row 3, Yellow Patch
t■−4≤6(1−u4■)t_{\yellowbox} - 4 \le 6(1-u_{4\yellowbox}) Row 4, Yellow Patch
t■−5≤6(1−u5■)t_{\yellowbox} - 5 \le 6(1-u_{5\yellowbox}) Row 5, Yellow Patch
t■−6≤6(1−u6■)t_{\yellowbox} - 6 \le 6(1-u_{6\yellowbox}) Row 6, Yellow Patch
t■−1≤6(1−u1■)t_{\tealbox} - 1 \le 6(1-u_{1\tealbox}) Row 1, Tealbox Patch
t■−2≤6(1−u2■)t_{\tealbox} - 2 \le 6(1-u_{2\tealbox}) Row 2, Tealbox Patch
t■−3≤6(1−u3■)t_{\tealbox} - 3 \le 6(1-u_{3\tealbox}) Row 3, Tealbox Patch
t■−4≤6(1−u4■)t_{\tealbox} - 4 \le 6(1-u_{4\tealbox}) Row 4, Tealbox Patch
t■−5≤6(1−u5■)t_{\tealbox} - 5 \le 6(1-u_{5\tealbox}) Row 5, Tealbox Patch
t■−6≤6(1−u6■)t_{\tealbox} - 6 \le 6(1-u_{6\tealbox}) Row 6, Tealbox Patch
t■−1≤6(1−u1■)t_{\purplebox} - 1 \le 6(1-u_{1\purplebox}) Row 1, Purple Patch
t■−2≤6(1−u2■)t_{\purplebox} - 2 \le 6(1-u_{2\purplebox}) Row 2, Purple Patch
t■−3≤6(1−u3■)t_{\purplebox} - 3 \le 6(1-u_{3\purplebox}) Row 3, Purple Patch
t■−4≤6(1−u4■)t_{\purplebox} - 4 \le 6(1-u_{4\purplebox}) Row 4, Purple Patch
t■−5≤6(1−u5■)t_{\purplebox} - 5 \le 6(1-u_{5\purplebox}) Row 5, Purple Patch
t■−6≤6(1−u6■)t_{\purplebox} - 6 \le 6(1-u_{6\purplebox}) Row 6, Purple Patch
t■−1≤6(1−u1■)t_{\greenbox} - 1 \le 6(1-u_{1\greenbox}) Row 1, Green Patch
t■−2≤6(1−u2■)t_{\greenbox} - 2 \le 6(1-u_{2\greenbox}) Row 2, Green Patch
t■−3≤6(1−u3■)t_{\greenbox} - 3 \le 6(1-u_{3\greenbox}) Row 3, Green Patch
t■−4≤6(1−u4■)t_{\greenbox} - 4 \le 6(1-u_{4\greenbox}) Row 4, Green Patch
t■−5≤6(1−u5■)t_{\greenbox} - 5 \le 6(1-u_{5\greenbox}) Row 5, Green Patch
t■−6≤6(1−u6■)t_{\greenbox} - 6 \le 6(1-u_{6\greenbox}) Row 6, Green Patch
t■−1≤6(1−u1■)t_{\orangebox} - 1 \le 6(1-u_{1\orangebox}) Row 1, Orange Patch
t■−2≤6(1−u2■)t_{\orangebox} - 2 \le 6(1-u_{2\orangebox}) Row 2, Orange Patch
t■−3≤6(1−u3■)t_{\orangebox} - 3 \le 6(1-u_{3\orangebox}) Row 3, Orange Patch
t■−4≤6(1−u4■)t_{\orangebox} - 4 \le 6(1-u_{4\orangebox}) Row 4, Orange Patch
t■−5≤6(1−u5■)t_{\orangebox} - 5 \le 6(1-u_{5\orangebox}) Row 5, Orange Patch
t■−6≤6(1−u6■)t_{\orangebox} - 6 \le 6(1-u_{6\orangebox}) Row 6, Orange Patch
t■−1≤6(1−u1■)t_{\redbox} - 1 \le 6(1-u_{1\redbox}) Row 1, Red Patch
t■−2≤6(1−u2■)t_{\redbox} - 2 \le 6(1-u_{2\redbox}) Row 2, Red Patch
t■−3≤6(1−u3■)t_{\redbox} - 3 \le 6(1-u_{3\redbox}) Row 3, Red Patch
t■−4≤6(1−u4■)t_{\redbox} - 4 \le 6(1-u_{4\redbox}) Row 4, Red Patch
t■−5≤6(1−u5■)t_{\redbox} - 5 \le 6(1-u_{5\redbox}) Row 5, Red Patch
t■−6≤6(1−u6■)t_{\redbox} - 6 \le 6(1-u_{6\redbox}) Row 6, Red Patch
t■−1≤6(1−u1■)t_{\bluebox} - 1 \le 6(1-u_{1\bluebox}) Row 1, Blue Patch
t■−2≤6(1−u2■)t_{\bluebox} - 2 \le 6(1-u_{2\bluebox}) Row 2, Blue Patch
t■−3≤6(1−u3■)t_{\bluebox} - 3 \le 6(1-u_{3\bluebox}) Row 3, Blue Patch
t■−4≤6(1−u4■)t_{\bluebox} - 4 \le 6(1-u_{4\bluebox}) Row 4, Blue Patch
t■−5≤6(1−u5■)t_{\bluebox} - 5 \le 6(1-u_{5\bluebox}) Row 5, Blue Patch
t■−6≤6(1−u6■)t_{\bluebox} - 6 \le 6(1-u_{6\bluebox}) Row 6, Blue Patch
t■−1≤6(1−u1■)t_{\magentabox} - 1 \le 6(1-u_{1\magentabox}) Row 1, Magenta Patch
t■−2≤6(1−u2■)t_{\magentabox} - 2 \le 6(1-u_{2\magentabox}) Row 2, Magenta Patch
t■−3≤6(1−u3■)t_{\magentabox} - 3 \le 6(1-u_{3\magentabox}) Row 3, Magenta Patch
t■−4≤6(1−u4■)t_{\magentabox} - 4 \le 6(1-u_{4\magentabox}) Row 4, Magenta Patch
t■−5≤6(1−u5■)t_{\magentabox} - 5 \le 6(1-u_{5\magentabox}) Row 5, Magenta Patch
t■−6≤6(1−u6■)t_{\magentabox} - 6 \le 6(1-u_{6\magentabox}) Row 6, Magenta Patch
t■−1≤6(1−u1■)t_{\brickbox} - 1 \le 6(1-u_{1\brickbox}) Row 1, Brick Patch
t■−2≤6(1−u2■)t_{\brickbox} - 2 \le 6(1-u_{2\brickbox}) Row 2, Brick Patch
t■−3≤6(1−u3■)t_{\brickbox} - 3 \le 6(1-u_{3\brickbox}) Row 3, Brick Patch
t■−4≤6(1−u4■)t_{\brickbox} - 4 \le 6(1-u_{4\brickbox}) Row 4, Brick Patch
t■−5≤6(1−u5■)t_{\brickbox} - 5 \le 6(1-u_{5\brickbox}) Row 5, Brick Patch
t■−6≤6(1−u6■)t_{\brickbox} - 6 \le 6(1-u_{6\brickbox}) Row 6, Brick Patch
t■−1≤6(1−u1■)t_{\brownbox} - 1 \le 6(1-u_{1\brownbox}) Row 1, Brown Patch
t■−2≤6(1−u2■)t_{\brownbox} - 2 \le 6(1-u_{2\brownbox}) Row 2, Brown Patch
t■−3≤6(1−u3■)t_{\brownbox} - 3 \le 6(1-u_{3\brownbox}) Row 3, Brown Patch
t■−4≤6(1−u4■)t_{\brownbox} - 4 \le 6(1-u_{4\brownbox}) Row 4, Brown Patch
t■−5≤6(1−u5■)t_{\brownbox} - 5 \le 6(1-u_{5\brownbox}) Row 5, Brown Patch
t■−6≤6(1−u6■)t_{\brownbox} - 6 \le 6(1-u_{6\brownbox}) Row 6, Brown Patch
Bottom Boundary Constraints
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{1\yellowbox}) Row 1, Yellow Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{2\yellowbox}) Row 2, Yellow Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{3\yellowbox}) Row 3, Yellow Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{4\yellowbox}) Row 4, Yellow Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{5\yellowbox}) Row 5, Yellow Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\yellowbox} + h_{\yellowbox} - 1) \le 6(1 - u_{6\yellowbox}) Row 6, Yellow Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{1\tealbox}) Row 1, Tealbox Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{2\tealbox}) Row 2, Tealbox Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{3\tealbox}) Row 3, Tealbox Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{4\tealbox}) Row 4, Tealbox Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{5\tealbox}) Row 5, Tealbox Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\tealbox} + h_{\tealbox} - 1) \le 6(1 - u_{6\tealbox}) Row 6, Tealbox Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{1\purplebox}) Row 1, Purple Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{2\purplebox}) Row 2, Purple Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{3\purplebox}) Row 3, Purple Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{4\purplebox}) Row 4, Purple Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{5\purplebox}) Row 5, Purple Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\purplebox} + h_{\purplebox} - 1) \le 6(1 - u_{6\purplebox}) Row 6, Purple Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{1\greenbox}) Row 1, Green Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{2\greenbox}) Row 2, Green Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{3\greenbox}) Row 3, Green Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{4\greenbox}) Row 4, Green Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{5\greenbox}) Row 5, Green Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\greenbox} + h_{\greenbox} - 1) \le 6(1 - u_{6\greenbox}) Row 6, Green Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{1\orangebox}) Row 1, Orange Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{2\orangebox}) Row 2, Orange Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{3\orangebox}) Row 3, Orange Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{4\orangebox}) Row 4, Orange Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{5\orangebox}) Row 5, Orange Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\orangebox} + h_{\orangebox} - 1) \le 6(1 - u_{6\orangebox}) Row 6, Orange Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{1\redbox}) Row 1, Red Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{2\redbox}) Row 2, Red Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{3\redbox}) Row 3, Red Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{4\redbox}) Row 4, Red Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{5\redbox}) Row 5, Red Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\redbox} + h_{\redbox} - 1) \le 6(1 - u_{6\redbox}) Row 6, Red Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{1\bluebox}) Row 1, Blue Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{2\bluebox}) Row 2, Blue Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{3\bluebox}) Row 3, Blue Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{4\bluebox}) Row 4, Blue Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{5\bluebox}) Row 5, Blue Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\bluebox} + h_{\bluebox} - 1) \le 6(1 - u_{6\bluebox}) Row 6, Blue Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{1\magentabox}) Row 1, Magenta Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{2\magentabox}) Row 2, Magenta Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{3\magentabox}) Row 3, Magenta Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{4\magentabox}) Row 4, Magenta Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{5\magentabox}) Row 5, Magenta Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\magentabox} + h_{\magentabox} - 1) \le 6(1 - u_{6\magentabox}) Row 6, Magenta Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{1\brickbox}) Row 1, Brick Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{2\brickbox}) Row 2, Brick Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{3\brickbox}) Row 3, Brick Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{4\brickbox}) Row 4, Brick Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{5\brickbox}) Row 5, Brick Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\brickbox} + h_{\brickbox} - 1) \le 6(1 - u_{6\brickbox}) Row 6, Brick Patch
1−(t■+h■−1)≤6(1−u1■)1 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{1\brownbox}) Row 1, Brown Patch
2−(t■+h■−1)≤6(1−u2■)2 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{2\brownbox}) Row 2, Brown Patch
3−(t■+h■−1)≤6(1−u3■)3 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{3\brownbox}) Row 3, Brown Patch
4−(t■+h■−1)≤6(1−u4■)4 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{4\brownbox}) Row 4, Brown Patch
5−(t■+h■−1)≤6(1−u5■)5 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{5\brownbox}) Row 5, Brown Patch
6−(t■+h■−1)≤6(1−u6■)6 - (t_{\brownbox} + h_{\brownbox} - 1) \le 6(1 - u_{6\brownbox}) Row 6, Brown Patch
Left Boundary Constraints
l■−1≤6(1−v1■)l_{\yellowbox} - 1 \le 6(1 - v_{1\yellowbox}) Column 1, Yellow Patch
l■−2≤6(1−v2■)l_{\yellowbox} - 2 \le 6(1 - v_{2\yellowbox}) Column 2, Yellow Patch
l■−3≤6(1−v3■)l_{\yellowbox} - 3 \le 6(1 - v_{3\yellowbox}) Column 3, Yellow Patch
l■−4≤6(1−v4■)l_{\yellowbox} - 4 \le 6(1 - v_{4\yellowbox}) Column 4, Yellow Patch
l■−5≤6(1−v5■)l_{\yellowbox} - 5 \le 6(1 - v_{5\yellowbox}) Column 5, Yellow Patch
l■−6≤6(1−v6■)l_{\yellowbox} - 6 \le 6(1 - v_{6\yellowbox}) Column 6, Yellow Patch
l■−1≤6(1−v1■)l_{\tealbox} - 1 \le 6(1 - v_{1\tealbox}) Column 1, Tealbox Patch
l■−2≤6(1−v2■)l_{\tealbox} - 2 \le 6(1 - v_{2\tealbox}) Column 2, Tealbox Patch
l■−3≤6(1−v3■)l_{\tealbox} - 3 \le 6(1 - v_{3\tealbox}) Column 3, Tealbox Patch
l■−4≤6(1−v4■)l_{\tealbox} - 4 \le 6(1 - v_{4\tealbox}) Column 4, Tealbox Patch
l■−5≤6(1−v5■)l_{\tealbox} - 5 \le 6(1 - v_{5\tealbox}) Column 5, Tealbox Patch
l■−6≤6(1−v6■)l_{\tealbox} - 6 \le 6(1 - v_{6\tealbox}) Column 6, Tealbox Patch
l■−1≤6(1−v1■)l_{\purplebox} - 1 \le 6(1 - v_{1\purplebox}) Column 1, Purple Patch
l■−2≤6(1−v2■)l_{\purplebox} - 2 \le 6(1 - v_{2\purplebox}) Column 2, Purple Patch
l■−3≤6(1−v3■)l_{\purplebox} - 3 \le 6(1 - v_{3\purplebox}) Column 3, Purple Patch
l■−4≤6(1−v4■)l_{\purplebox} - 4 \le 6(1 - v_{4\purplebox}) Column 4, Purple Patch
l■−5≤6(1−v5■)l_{\purplebox} - 5 \le 6(1 - v_{5\purplebox}) Column 5, Purple Patch
l■−6≤6(1−v6■)l_{\purplebox} - 6 \le 6(1 - v_{6\purplebox}) Column 6, Purple Patch
l■−1≤6(1−v1■)l_{\greenbox} - 1 \le 6(1 - v_{1\greenbox}) Column 1, Green Patch
l■−2≤6(1−v2■)l_{\greenbox} - 2 \le 6(1 - v_{2\greenbox}) Column 2, Green Patch
l■−3≤6(1−v3■)l_{\greenbox} - 3 \le 6(1 - v_{3\greenbox}) Column 3, Green Patch
l■−4≤6(1−v4■)l_{\greenbox} - 4 \le 6(1 - v_{4\greenbox}) Column 4, Green Patch
l■−5≤6(1−v5■)l_{\greenbox} - 5 \le 6(1 - v_{5\greenbox}) Column 5, Green Patch
l■−6≤6(1−v6■)l_{\greenbox} - 6 \le 6(1 - v_{6\greenbox}) Column 6, Green Patch
l■−1≤6(1−v1■)l_{\orangebox} - 1 \le 6(1 - v_{1\orangebox}) Column 1, Orange Patch
l■−2≤6(1−v2■)l_{\orangebox} - 2 \le 6(1 - v_{2\orangebox}) Column 2, Orange Patch
l■−3≤6(1−v3■)l_{\orangebox} - 3 \le 6(1 - v_{3\orangebox}) Column 3, Orange Patch
l■−4≤6(1−v4■)l_{\orangebox} - 4 \le 6(1 - v_{4\orangebox}) Column 4, Orange Patch
l■−5≤6(1−v5■)l_{\orangebox} - 5 \le 6(1 - v_{5\orangebox}) Column 5, Orange Patch
l■−6≤6(1−v6■)l_{\orangebox} - 6 \le 6(1 - v_{6\orangebox}) Column 6, Orange Patch
l■−1≤6(1−v1■)l_{\redbox} - 1 \le 6(1 - v_{1\redbox}) Column 1, Red Patch
l■−2≤6(1−v2■)l_{\redbox} - 2 \le 6(1 - v_{2\redbox}) Column 2, Red Patch
l■−3≤6(1−v3■)l_{\redbox} - 3 \le 6(1 - v_{3\redbox}) Column 3, Red Patch
l■−4≤6(1−v4■)l_{\redbox} - 4 \le 6(1 - v_{4\redbox}) Column 4, Red Patch
l■−5≤6(1−v5■)l_{\redbox} - 5 \le 6(1 - v_{5\redbox}) Column 5, Red Patch
l■−6≤6(1−v6■)l_{\redbox} - 6 \le 6(1 - v_{6\redbox}) Column 6, Red Patch
l■−1≤6(1−v1■)l_{\bluebox} - 1 \le 6(1 - v_{1\bluebox}) Column 1, Blue Patch
l■−2≤6(1−v2■)l_{\bluebox} - 2 \le 6(1 - v_{2\bluebox}) Column 2, Blue Patch
l■−3≤6(1−v3■)l_{\bluebox} - 3 \le 6(1 - v_{3\bluebox}) Column 3, Blue Patch
l■−4≤6(1−v4■)l_{\bluebox} - 4 \le 6(1 - v_{4\bluebox}) Column 4, Blue Patch
l■−5≤6(1−v5■)l_{\bluebox} - 5 \le 6(1 - v_{5\bluebox}) Column 5, Blue Patch
l■−6≤6(1−v6■)l_{\bluebox} - 6 \le 6(1 - v_{6\bluebox}) Column 6, Blue Patch
l■−1≤6(1−v1■)l_{\magentabox} - 1 \le 6(1 - v_{1\magentabox}) Column 1, Magenta Patch
l■−2≤6(1−v2■)l_{\magentabox} - 2 \le 6(1 - v_{2\magentabox}) Column 2, Magenta Patch
l■−3≤6(1−v3■)l_{\magentabox} - 3 \le 6(1 - v_{3\magentabox}) Column 3, Magenta Patch
l■−4≤6(1−v4■)l_{\magentabox} - 4 \le 6(1 - v_{4\magentabox}) Column 4, Magenta Patch
l■−5≤6(1−v5■)l_{\magentabox} - 5 \le 6(1 - v_{5\magentabox}) Column 5, Magenta Patch
l■−6≤6(1−v6■)l_{\magentabox} - 6 \le 6(1 - v_{6\magentabox}) Column 6, Magenta Patch
l■−1≤6(1−v1■)l_{\brickbox} - 1 \le 6(1 - v_{1\brickbox}) Column 1, Brick Patch
l■−2≤6(1−v2■)l_{\brickbox} - 2 \le 6(1 - v_{2\brickbox}) Column 2, Brick Patch
l■−3≤6(1−v3■)l_{\brickbox} - 3 \le 6(1 - v_{3\brickbox}) Column 3, Brick Patch
l■−4≤6(1−v4■)l_{\brickbox} - 4 \le 6(1 - v_{4\brickbox}) Column 4, Brick Patch
l■−5≤6(1−v5■)l_{\brickbox} - 5 \le 6(1 - v_{5\brickbox}) Column 5, Brick Patch
l■−6≤6(1−v6■)l_{\brickbox} - 6 \le 6(1 - v_{6\brickbox}) Column 6, Brick Patch
l■−1≤6(1−v1■)l_{\brownbox} - 1 \le 6(1 - v_{1\brownbox}) Column 1, Brown Patch
l■−2≤6(1−v2■)l_{\brownbox} - 2 \le 6(1 - v_{2\brownbox}) Column 2, Brown Patch
l■−3≤6(1−v3■)l_{\brownbox} - 3 \le 6(1 - v_{3\brownbox}) Column 3, Brown Patch
l■−4≤6(1−v4■)l_{\brownbox} - 4 \le 6(1 - v_{4\brownbox}) Column 4, Brown Patch
l■−5≤6(1−v5■)l_{\brownbox} - 5 \le 6(1 - v_{5\brownbox}) Column 5, Brown Patch
l■−6≤6(1−v6■)l_{\brownbox} - 6 \le 6(1 - v_{6\brownbox}) Column 6, Brown Patch
Right Boundary Constraints
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{1\yellowbox}) Column 1, Yellow Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{2\yellowbox}) Column 2, Yellow Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{3\yellowbox}) Column 3, Yellow Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{4\yellowbox}) Column 4, Yellow Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{5\yellowbox}) Column 5, Yellow Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\yellowbox} + w_{\yellowbox} - 1) \le 6(1 - v_{6\yellowbox}) Column 6, Yellow Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{1\tealbox}) Column 1, Tealbox Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{2\tealbox}) Column 2, Tealbox Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{3\tealbox}) Column 3, Tealbox Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{4\tealbox}) Column 4, Tealbox Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{5\tealbox}) Column 5, Tealbox Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\tealbox} + w_{\tealbox} - 1) \le 6(1 - v_{6\tealbox}) Column 6, Tealbox Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{1\purplebox}) Column 1, Purple Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{2\purplebox}) Column 2, Purple Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{3\purplebox}) Column 3, Purple Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{4\purplebox}) Column 4, Purple Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{5\purplebox}) Column 5, Purple Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\purplebox} + w_{\purplebox} - 1) \le 6(1 - v_{6\purplebox}) Column 6, Purple Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{1\greenbox}) Column 1, Green Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{2\greenbox}) Column 2, Green Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{3\greenbox}) Column 3, Green Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{4\greenbox}) Column 4, Green Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{5\greenbox}) Column 5, Green Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\greenbox} + w_{\greenbox} - 1) \le 6(1 - v_{6\greenbox}) Column 6, Green Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{1\orangebox}) Column 1, Orange Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{2\orangebox}) Column 2, Orange Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{3\orangebox}) Column 3, Orange Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{4\orangebox}) Column 4, Orange Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{5\orangebox}) Column 5, Orange Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\orangebox} + w_{\orangebox} - 1) \le 6(1 - v_{6\orangebox}) Column 6, Orange Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{1\redbox}) Column 1, Red Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{2\redbox}) Column 2, Red Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{3\redbox}) Column 3, Red Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{4\redbox}) Column 4, Red Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{5\redbox}) Column 5, Red Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\redbox} + w_{\redbox} - 1) \le 6(1 - v_{6\redbox}) Column 6, Red Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{1\bluebox}) Column 1, Blue Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{2\bluebox}) Column 2, Blue Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{3\bluebox}) Column 3, Blue Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{4\bluebox}) Column 4, Blue Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{5\bluebox}) Column 5, Blue Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\bluebox} + w_{\bluebox} - 1) \le 6(1 - v_{6\bluebox}) Column 6, Blue Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{1\magentabox}) Column 1, Magenta Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{2\magentabox}) Column 2, Magenta Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{3\magentabox}) Column 3, Magenta Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{4\magentabox}) Column 4, Magenta Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{5\magentabox}) Column 5, Magenta Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\magentabox} + w_{\magentabox} - 1) \le 6(1 - v_{6\magentabox}) Column 6, Magenta Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{1\brickbox}) Column 1, Brick Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{2\brickbox}) Column 2, Brick Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{3\brickbox}) Column 3, Brick Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{4\brickbox}) Column 4, Brick Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{5\brickbox}) Column 5, Brick Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\brickbox} + w_{\brickbox} - 1) \le 6(1 - v_{6\brickbox}) Column 6, Brick Patch
1−(l■+w■−1)≤6(1−v1■)1 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{1\brownbox}) Column 1, Brown Patch
2−(l■+w■−1)≤6(1−v2■)2 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{2\brownbox}) Column 2, Brown Patch
3−(l■+w■−1)≤6(1−v3■)3 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{3\brownbox}) Column 3, Brown Patch
4−(l■+w■−1)≤6(1−v4■)4 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{4\brownbox}) Column 4, Brown Patch
5−(l■+w■−1)≤6(1−v5■)5 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{5\brownbox}) Column 5, Brown Patch
6−(l■+w■−1)≤6(1−v6■)6 - (l_{\brownbox} + w_{\brownbox} - 1) \le 6(1 - v_{6\brownbox}) Column 6, Brown Patch
Height Constraints
u1■+u2■+u3■+u4■+u5■+u6■=h■u_{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■=h■u_{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■=h■u_{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■=h■u_{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■=h■u_{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■=h■u_{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■=h■u_{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■=h■u_{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■=h■u_{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■=h■u_{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■=w■v_{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■=w■v_{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■=w■v_{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■=w■v_{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■=w■v_{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■=w■v_{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■=w■v_{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■=w■v_{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■=w■v_{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■=w■v_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x16■≤6u1■x_{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■+x26■≤6u2■x_{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■+x36■≤6u3■x_{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■+x46■≤6u4■x_{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■+x56■≤6u5■x_{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■+x66■≤6u6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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■+x61■≤6v1■x_{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■+x62■≤6v2■x_{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■+x63■≤6v3■x_{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■+x64■≤6v4■x_{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■+x65■≤6v5■x_{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■+x66■≤6v6■x_{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
x11■≥u1■+v1■−1x_{11\yellowbox} \ge u_{1\yellowbox} + v_{1\yellowbox} - 1 Square (1, 1), Yellow Patch
x12■≥u1■+v2■−1x_{12\yellowbox} \ge u_{1\yellowbox} + v_{2\yellowbox} - 1 Square (1, 2), Yellow Patch
x13■≥u1■+v3■−1x_{13\yellowbox} \ge u_{1\yellowbox} + v_{3\yellowbox} - 1 Square (1, 3), Yellow Patch
x14■≥u1■+v4■−1x_{14\yellowbox} \ge u_{1\yellowbox} + v_{4\yellowbox} - 1 Square (1, 4), Yellow Patch
x15■≥u1■+v5■−1x_{15\yellowbox} \ge u_{1\yellowbox} + v_{5\yellowbox} - 1 Square (1, 5), Yellow Patch
x16■≥u1■+v6■−1x_{16\yellowbox} \ge u_{1\yellowbox} + v_{6\yellowbox} - 1 Square (1, 6), Yellow Patch
x21■≥u2■+v1■−1x_{21\yellowbox} \ge u_{2\yellowbox} + v_{1\yellowbox} - 1 Square (2, 1), Yellow Patch
x22■≥u2■+v2■−1x_{22\yellowbox} \ge u_{2\yellowbox} + v_{2\yellowbox} - 1 Square (2, 2), Yellow Patch
x23■≥u2■+v3■−1x_{23\yellowbox} \ge u_{2\yellowbox} + v_{3\yellowbox} - 1 Square (2, 3), Yellow Patch
x24■≥u2■+v4■−1x_{24\yellowbox} \ge u_{2\yellowbox} + v_{4\yellowbox} - 1 Square (2, 4), Yellow Patch
x25■≥u2■+v5■−1x_{25\yellowbox} \ge u_{2\yellowbox} + v_{5\yellowbox} - 1 Square (2, 5), Yellow Patch
x26■≥u2■+v6■−1x_{26\yellowbox} \ge u_{2\yellowbox} + v_{6\yellowbox} - 1 Square (2, 6), Yellow Patch
x31■≥u3■+v1■−1x_{31\yellowbox} \ge u_{3\yellowbox} + v_{1\yellowbox} - 1 Square (3, 1), Yellow Patch
x32■≥u3■+v2■−1x_{32\yellowbox} \ge u_{3\yellowbox} + v_{2\yellowbox} - 1 Square (3, 2), Yellow Patch
x33■≥u3■+v3■−1x_{33\yellowbox} \ge u_{3\yellowbox} + v_{3\yellowbox} - 1 Square (3, 3), Yellow Patch
x34■≥u3■+v4■−1x_{34\yellowbox} \ge u_{3\yellowbox} + v_{4\yellowbox} - 1 Square (3, 4), Yellow Patch
x35■≥u3■+v5■−1x_{35\yellowbox} \ge u_{3\yellowbox} + v_{5\yellowbox} - 1 Square (3, 5), Yellow Patch
x36■≥u3■+v6■−1x_{36\yellowbox} \ge u_{3\yellowbox} + v_{6\yellowbox} - 1 Square (3, 6), Yellow Patch
x41■≥u4■+v1■−1x_{41\yellowbox} \ge u_{4\yellowbox} + v_{1\yellowbox} - 1 Square (4, 1), Yellow Patch
x42■≥u4■+v2■−1x_{42\yellowbox} \ge u_{4\yellowbox} + v_{2\yellowbox} - 1 Square (4, 2), Yellow Patch
x43■≥u4■+v3■−1x_{43\yellowbox} \ge u_{4\yellowbox} + v_{3\yellowbox} - 1 Square (4, 3), Yellow Patch
x44■≥u4■+v4■−1x_{44\yellowbox} \ge u_{4\yellowbox} + v_{4\yellowbox} - 1 Square (4, 4), Yellow Patch
x45■≥u4■+v5■−1x_{45\yellowbox} \ge u_{4\yellowbox} + v_{5\yellowbox} - 1 Square (4, 5), Yellow Patch
x46■≥u4■+v6■−1x_{46\yellowbox} \ge u_{4\yellowbox} + v_{6\yellowbox} - 1 Square (4, 6), Yellow Patch
x51■≥u5■+v1■−1x_{51\yellowbox} \ge u_{5\yellowbox} + v_{1\yellowbox} - 1 Square (5, 1), Yellow Patch
x52■≥u5■+v2■−1x_{52\yellowbox} \ge u_{5\yellowbox} + v_{2\yellowbox} - 1 Square (5, 2), Yellow Patch
x53■≥u5■+v3■−1x_{53\yellowbox} \ge u_{5\yellowbox} + v_{3\yellowbox} - 1 Square (5, 3), Yellow Patch
x54■≥u5■+v4■−1x_{54\yellowbox} \ge u_{5\yellowbox} + v_{4\yellowbox} - 1 Square (5, 4), Yellow Patch
x55■≥u5■+v5■−1x_{55\yellowbox} \ge u_{5\yellowbox} + v_{5\yellowbox} - 1 Square (5, 5), Yellow Patch
x56■≥u5■+v6■−1x_{56\yellowbox} \ge u_{5\yellowbox} + v_{6\yellowbox} - 1 Square (5, 6), Yellow Patch
x61■≥u6■+v1■−1x_{61\yellowbox} \ge u_{6\yellowbox} + v_{1\yellowbox} - 1 Square (6, 1), Yellow Patch
x62■≥u6■+v2■−1x_{62\yellowbox} \ge u_{6\yellowbox} + v_{2\yellowbox} - 1 Square (6, 2), Yellow Patch
x63■≥u6■+v3■−1x_{63\yellowbox} \ge u_{6\yellowbox} + v_{3\yellowbox} - 1 Square (6, 3), Yellow Patch
x64■≥u6■+v4■−1x_{64\yellowbox} \ge u_{6\yellowbox} + v_{4\yellowbox} - 1 Square (6, 4), Yellow Patch
x65■≥u6■+v5■−1x_{65\yellowbox} \ge u_{6\yellowbox} + v_{5\yellowbox} - 1 Square (6, 5), Yellow Patch
x66■≥u6■+v6■−1x_{66\yellowbox} \ge u_{6\yellowbox} + v_{6\yellowbox} - 1 Square (6, 6), Yellow Patch
x11■≥u1■+v1■−1x_{11\tealbox} \ge u_{1\tealbox} + v_{1\tealbox} - 1 Square (1, 1), Tealbox Patch
x12■≥u1■+v2■−1x_{12\tealbox} \ge u_{1\tealbox} + v_{2\tealbox} - 1 Square (1, 2), Tealbox Patch
x13■≥u1■+v3■−1x_{13\tealbox} \ge u_{1\tealbox} + v_{3\tealbox} - 1 Square (1, 3), Tealbox Patch
x14■≥u1■+v4■−1x_{14\tealbox} \ge u_{1\tealbox} + v_{4\tealbox} - 1 Square (1, 4), Tealbox Patch
x15■≥u1■+v5■−1x_{15\tealbox} \ge u_{1\tealbox} + v_{5\tealbox} - 1 Square (1, 5), Tealbox Patch
x16■≥u1■+v6■−1x_{16\tealbox} \ge u_{1\tealbox} + v_{6\tealbox} - 1 Square (1, 6), Tealbox Patch
x21■≥u2■+v1■−1x_{21\tealbox} \ge u_{2\tealbox} + v_{1\tealbox} - 1 Square (2, 1), Tealbox Patch
x22■≥u2■+v2■−1x_{22\tealbox} \ge u_{2\tealbox} + v_{2\tealbox} - 1 Square (2, 2), Tealbox Patch
x23■≥u2■+v3■−1x_{23\tealbox} \ge u_{2\tealbox} + v_{3\tealbox} - 1 Square (2, 3), Tealbox Patch
x24■≥u2■+v4■−1x_{24\tealbox} \ge u_{2\tealbox} + v_{4\tealbox} - 1 Square (2, 4), Tealbox Patch
x25■≥u2■+v5■−1x_{25\tealbox} \ge u_{2\tealbox} + v_{5\tealbox} - 1 Square (2, 5), Tealbox Patch
x26■≥u2■+v6■−1x_{26\tealbox} \ge u_{2\tealbox} + v_{6\tealbox} - 1 Square (2, 6), Tealbox Patch
x31■≥u3■+v1■−1x_{31\tealbox} \ge u_{3\tealbox} + v_{1\tealbox} - 1 Square (3, 1), Tealbox Patch
x32■≥u3■+v2■−1x_{32\tealbox} \ge u_{3\tealbox} + v_{2\tealbox} - 1 Square (3, 2), Tealbox Patch
x33■≥u3■+v3■−1x_{33\tealbox} \ge u_{3\tealbox} + v_{3\tealbox} - 1 Square (3, 3), Tealbox Patch
x34■≥u3■+v4■−1x_{34\tealbox} \ge u_{3\tealbox} + v_{4\tealbox} - 1 Square (3, 4), Tealbox Patch
x35■≥u3■+v5■−1x_{35\tealbox} \ge u_{3\tealbox} + v_{5\tealbox} - 1 Square (3, 5), Tealbox Patch
x36■≥u3■+v6■−1x_{36\tealbox} \ge u_{3\tealbox} + v_{6\tealbox} - 1 Square (3, 6), Tealbox Patch
x41■≥u4■+v1■−1x_{41\tealbox} \ge u_{4\tealbox} + v_{1\tealbox} - 1 Square (4, 1), Tealbox Patch
x42■≥u4■+v2■−1x_{42\tealbox} \ge u_{4\tealbox} + v_{2\tealbox} - 1 Square (4, 2), Tealbox Patch
x43■≥u4■+v3■−1x_{43\tealbox} \ge u_{4\tealbox} + v_{3\tealbox} - 1 Square (4, 3), Tealbox Patch
x44■≥u4■+v4■−1x_{44\tealbox} \ge u_{4\tealbox} + v_{4\tealbox} - 1 Square (4, 4), Tealbox Patch
x45■≥u4■+v5■−1x_{45\tealbox} \ge u_{4\tealbox} + v_{5\tealbox} - 1 Square (4, 5), Tealbox Patch
x46■≥u4■+v6■−1x_{46\tealbox} \ge u_{4\tealbox} + v_{6\tealbox} - 1 Square (4, 6), Tealbox Patch
x51■≥u5■+v1■−1x_{51\tealbox} \ge u_{5\tealbox} + v_{1\tealbox} - 1 Square (5, 1), Tealbox Patch
x52■≥u5■+v2■−1x_{52\tealbox} \ge u_{5\tealbox} + v_{2\tealbox} - 1 Square (5, 2), Tealbox Patch
x53■≥u5■+v3■−1x_{53\tealbox} \ge u_{5\tealbox} + v_{3\tealbox} - 1 Square (5, 3), Tealbox Patch
x54■≥u5■+v4■−1x_{54\tealbox} \ge u_{5\tealbox} + v_{4\tealbox} - 1 Square (5, 4), Tealbox Patch
x55■≥u5■+v5■−1x_{55\tealbox} \ge u_{5\tealbox} + v_{5\tealbox} - 1 Square (5, 5), Tealbox Patch
x56■≥u5■+v6■−1x_{56\tealbox} \ge u_{5\tealbox} + v_{6\tealbox} - 1 Square (5, 6), Tealbox Patch
x61■≥u6■+v1■−1x_{61\tealbox} \ge u_{6\tealbox} + v_{1\tealbox} - 1 Square (6, 1), Tealbox Patch
x62■≥u6■+v2■−1x_{62\tealbox} \ge u_{6\tealbox} + v_{2\tealbox} - 1 Square (6, 2), Tealbox Patch
x63■≥u6■+v3■−1x_{63\tealbox} \ge u_{6\tealbox} + v_{3\tealbox} - 1 Square (6, 3), Tealbox Patch
x64■≥u6■+v4■−1x_{64\tealbox} \ge u_{6\tealbox} + v_{4\tealbox} - 1 Square (6, 4), Tealbox Patch
x65■≥u6■+v5■−1x_{65\tealbox} \ge u_{6\tealbox} + v_{5\tealbox} - 1 Square (6, 5), Tealbox Patch
x66■≥u6■+v6■−1x_{66\tealbox} \ge u_{6\tealbox} + v_{6\tealbox} - 1 Square (6, 6), Tealbox Patch
x11■≥u1■+v1■−1x_{11\purplebox} \ge u_{1\purplebox} + v_{1\purplebox} - 1 Square (1, 1), Purple Patch
x12■≥u1■+v2■−1x_{12\purplebox} \ge u_{1\purplebox} + v_{2\purplebox} - 1 Square (1, 2), Purple Patch
x13■≥u1■+v3■−1x_{13\purplebox} \ge u_{1\purplebox} + v_{3\purplebox} - 1 Square (1, 3), Purple Patch
x14■≥u1■+v4■−1x_{14\purplebox} \ge u_{1\purplebox} + v_{4\purplebox} - 1 Square (1, 4), Purple Patch
x15■≥u1■+v5■−1x_{15\purplebox} \ge u_{1\purplebox} + v_{5\purplebox} - 1 Square (1, 5), Purple Patch
x16■≥u1■+v6■−1x_{16\purplebox} \ge u_{1\purplebox} + v_{6\purplebox} - 1 Square (1, 6), Purple Patch
x21■≥u2■+v1■−1x_{21\purplebox} \ge u_{2\purplebox} + v_{1\purplebox} - 1 Square (2, 1), Purple Patch
x22■≥u2■+v2■−1x_{22\purplebox} \ge u_{2\purplebox} + v_{2\purplebox} - 1 Square (2, 2), Purple Patch
x23■≥u2■+v3■−1x_{23\purplebox} \ge u_{2\purplebox} + v_{3\purplebox} - 1 Square (2, 3), Purple Patch
x24■≥u2■+v4■−1x_{24\purplebox} \ge u_{2\purplebox} + v_{4\purplebox} - 1 Square (2, 4), Purple Patch
x25■≥u2■+v5■−1x_{25\purplebox} \ge u_{2\purplebox} + v_{5\purplebox} - 1 Square (2, 5), Purple Patch
x26■≥u2■+v6■−1x_{26\purplebox} \ge u_{2\purplebox} + v_{6\purplebox} - 1 Square (2, 6), Purple Patch
x31■≥u3■+v1■−1x_{31\purplebox} \ge u_{3\purplebox} + v_{1\purplebox} - 1 Square (3, 1), Purple Patch
x32■≥u3■+v2■−1x_{32\purplebox} \ge u_{3\purplebox} + v_{2\purplebox} - 1 Square (3, 2), Purple Patch
x33■≥u3■+v3■−1x_{33\purplebox} \ge u_{3\purplebox} + v_{3\purplebox} - 1 Square (3, 3), Purple Patch
x34■≥u3■+v4■−1x_{34\purplebox} \ge u_{3\purplebox} + v_{4\purplebox} - 1 Square (3, 4), Purple Patch
x35■≥u3■+v5■−1x_{35\purplebox} \ge u_{3\purplebox} + v_{5\purplebox} - 1 Square (3, 5), Purple Patch
x36■≥u3■+v6■−1x_{36\purplebox} \ge u_{3\purplebox} + v_{6\purplebox} - 1 Square (3, 6), Purple Patch
x41■≥u4■+v1■−1x_{41\purplebox} \ge u_{4\purplebox} + v_{1\purplebox} - 1 Square (4, 1), Purple Patch
x42■≥u4■+v2■−1x_{42\purplebox} \ge u_{4\purplebox} + v_{2\purplebox} - 1 Square (4, 2), Purple Patch
x43■≥u4■+v3■−1x_{43\purplebox} \ge u_{4\purplebox} + v_{3\purplebox} - 1 Square (4, 3), Purple Patch
x44■≥u4■+v4■−1x_{44\purplebox} \ge u_{4\purplebox} + v_{4\purplebox} - 1 Square (4, 4), Purple Patch
x45■≥u4■+v5■−1x_{45\purplebox} \ge u_{4\purplebox} + v_{5\purplebox} - 1 Square (4, 5), Purple Patch
x46■≥u4■+v6■−1x_{46\purplebox} \ge u_{4\purplebox} + v_{6\purplebox} - 1 Square (4, 6), Purple Patch
x51■≥u5■+v1■−1x_{51\purplebox} \ge u_{5\purplebox} + v_{1\purplebox} - 1 Square (5, 1), Purple Patch
x52■≥u5■+v2■−1x_{52\purplebox} \ge u_{5\purplebox} + v_{2\purplebox} - 1 Square (5, 2), Purple Patch
x53■≥u5■+v3■−1x_{53\purplebox} \ge u_{5\purplebox} + v_{3\purplebox} - 1 Square (5, 3), Purple Patch
x54■≥u5■+v4■−1x_{54\purplebox} \ge u_{5\purplebox} + v_{4\purplebox} - 1 Square (5, 4), Purple Patch
x55■≥u5■+v5■−1x_{55\purplebox} \ge u_{5\purplebox} + v_{5\purplebox} - 1 Square (5, 5), Purple Patch
x56■≥u5■+v6■−1x_{56\purplebox} \ge u_{5\purplebox} + v_{6\purplebox} - 1 Square (5, 6), Purple Patch
x61■≥u6■+v1■−1x_{61\purplebox} \ge u_{6\purplebox} + v_{1\purplebox} - 1 Square (6, 1), Purple Patch
x62■≥u6■+v2■−1x_{62\purplebox} \ge u_{6\purplebox} + v_{2\purplebox} - 1 Square (6, 2), Purple Patch
x63■≥u6■+v3■−1x_{63\purplebox} \ge u_{6\purplebox} + v_{3\purplebox} - 1 Square (6, 3), Purple Patch
x64■≥u6■+v4■−1x_{64\purplebox} \ge u_{6\purplebox} + v_{4\purplebox} - 1 Square (6, 4), Purple Patch
x65■≥u6■+v5■−1x_{65\purplebox} \ge u_{6\purplebox} + v_{5\purplebox} - 1 Square (6, 5), Purple Patch
x66■≥u6■+v6■−1x_{66\purplebox} \ge u_{6\purplebox} + v_{6\purplebox} - 1 Square (6, 6), Purple Patch
x11■≥u1■+v1■−1x_{11\greenbox} \ge u_{1\greenbox} + v_{1\greenbox} - 1 Square (1, 1), Green Patch
x12■≥u1■+v2■−1x_{12\greenbox} \ge u_{1\greenbox} + v_{2\greenbox} - 1 Square (1, 2), Green Patch
x13■≥u1■+v3■−1x_{13\greenbox} \ge u_{1\greenbox} + v_{3\greenbox} - 1 Square (1, 3), Green Patch
x14■≥u1■+v4■−1x_{14\greenbox} \ge u_{1\greenbox} + v_{4\greenbox} - 1 Square (1, 4), Green Patch
x15■≥u1■+v5■−1x_{15\greenbox} \ge u_{1\greenbox} + v_{5\greenbox} - 1 Square (1, 5), Green Patch
x16■≥u1■+v6■−1x_{16\greenbox} \ge u_{1\greenbox} + v_{6\greenbox} - 1 Square (1, 6), Green Patch
x21■≥u2■+v1■−1x_{21\greenbox} \ge u_{2\greenbox} + v_{1\greenbox} - 1 Square (2, 1), Green Patch
x22■≥u2■+v2■−1x_{22\greenbox} \ge u_{2\greenbox} + v_{2\greenbox} - 1 Square (2, 2), Green Patch
x23■≥u2■+v3■−1x_{23\greenbox} \ge u_{2\greenbox} + v_{3\greenbox} - 1 Square (2, 3), Green Patch
x24■≥u2■+v4■−1x_{24\greenbox} \ge u_{2\greenbox} + v_{4\greenbox} - 1 Square (2, 4), Green Patch
x25■≥u2■+v5■−1x_{25\greenbox} \ge u_{2\greenbox} + v_{5\greenbox} - 1 Square (2, 5), Green Patch
x26■≥u2■+v6■−1x_{26\greenbox} \ge u_{2\greenbox} + v_{6\greenbox} - 1 Square (2, 6), Green Patch
x31■≥u3■+v1■−1x_{31\greenbox} \ge u_{3\greenbox} + v_{1\greenbox} - 1 Square (3, 1), Green Patch
x32■≥u3■+v2■−1x_{32\greenbox} \ge u_{3\greenbox} + v_{2\greenbox} - 1 Square (3, 2), Green Patch
x33■≥u3■+v3■−1x_{33\greenbox} \ge u_{3\greenbox} + v_{3\greenbox} - 1 Square (3, 3), Green Patch
x34■≥u3■+v4■−1x_{34\greenbox} \ge u_{3\greenbox} + v_{4\greenbox} - 1 Square (3, 4), Green Patch
x35■≥u3■+v5■−1x_{35\greenbox} \ge u_{3\greenbox} + v_{5\greenbox} - 1 Square (3, 5), Green Patch
x36■≥u3■+v6■−1x_{36\greenbox} \ge u_{3\greenbox} + v_{6\greenbox} - 1 Square (3, 6), Green Patch
x41■≥u4■+v1■−1x_{41\greenbox} \ge u_{4\greenbox} + v_{1\greenbox} - 1 Square (4, 1), Green Patch
x42■≥u4■+v2■−1x_{42\greenbox} \ge u_{4\greenbox} + v_{2\greenbox} - 1 Square (4, 2), Green Patch
x43■≥u4■+v3■−1x_{43\greenbox} \ge u_{4\greenbox} + v_{3\greenbox} - 1 Square (4, 3), Green Patch
x44■≥u4■+v4■−1x_{44\greenbox} \ge u_{4\greenbox} + v_{4\greenbox} - 1 Square (4, 4), Green Patch
x45■≥u4■+v5■−1x_{45\greenbox} \ge u_{4\greenbox} + v_{5\greenbox} - 1 Square (4, 5), Green Patch
x46■≥u4■+v6■−1x_{46\greenbox} \ge u_{4\greenbox} + v_{6\greenbox} - 1 Square (4, 6), Green Patch
x51■≥u5■+v1■−1x_{51\greenbox} \ge u_{5\greenbox} + v_{1\greenbox} - 1 Square (5, 1), Green Patch
x52■≥u5■+v2■−1x_{52\greenbox} \ge u_{5\greenbox} + v_{2\greenbox} - 1 Square (5, 2), Green Patch
x53■≥u5■+v3■−1x_{53\greenbox} \ge u_{5\greenbox} + v_{3\greenbox} - 1 Square (5, 3), Green Patch
x54■≥u5■+v4■−1x_{54\greenbox} \ge u_{5\greenbox} + v_{4\greenbox} - 1 Square (5, 4), Green Patch
x55■≥u5■+v5■−1x_{55\greenbox} \ge u_{5\greenbox} + v_{5\greenbox} - 1 Square (5, 5), Green Patch
x56■≥u5■+v6■−1x_{56\greenbox} \ge u_{5\greenbox} + v_{6\greenbox} - 1 Square (5, 6), Green Patch
x61■≥u6■+v1■−1x_{61\greenbox} \ge u_{6\greenbox} + v_{1\greenbox} - 1 Square (6, 1), Green Patch
x62■≥u6■+v2■−1x_{62\greenbox} \ge u_{6\greenbox} + v_{2\greenbox} - 1 Square (6, 2), Green Patch
x63■≥u6■+v3■−1x_{63\greenbox} \ge u_{6\greenbox} + v_{3\greenbox} - 1 Square (6, 3), Green Patch
x64■≥u6■+v4■−1x_{64\greenbox} \ge u_{6\greenbox} + v_{4\greenbox} - 1 Square (6, 4), Green Patch
x65■≥u6■+v5■−1x_{65\greenbox} \ge u_{6\greenbox} + v_{5\greenbox} - 1 Square (6, 5), Green Patch
x66■≥u6■+v6■−1x_{66\greenbox} \ge u_{6\greenbox} + v_{6\greenbox} - 1 Square (6, 6), Green Patch
x11■≥u1■+v1■−1x_{11\orangebox} \ge u_{1\orangebox} + v_{1\orangebox} - 1 Square (1, 1), Orange Patch
x12■≥u1■+v2■−1x_{12\orangebox} \ge u_{1\orangebox} + v_{2\orangebox} - 1 Square (1, 2), Orange Patch
x13■≥u1■+v3■−1x_{13\orangebox} \ge u_{1\orangebox} + v_{3\orangebox} - 1 Square (1, 3), Orange Patch
x14■≥u1■+v4■−1x_{14\orangebox} \ge u_{1\orangebox} + v_{4\orangebox} - 1 Square (1, 4), Orange Patch
x15■≥u1■+v5■−1x_{15\orangebox} \ge u_{1\orangebox} + v_{5\orangebox} - 1 Square (1, 5), Orange Patch
x16■≥u1■+v6■−1x_{16\orangebox} \ge u_{1\orangebox} + v_{6\orangebox} - 1 Square (1, 6), Orange Patch
x21■≥u2■+v1■−1x_{21\orangebox} \ge u_{2\orangebox} + v_{1\orangebox} - 1 Square (2, 1), Orange Patch
x22■≥u2■+v2■−1x_{22\orangebox} \ge u_{2\orangebox} + v_{2\orangebox} - 1 Square (2, 2), Orange Patch
x23■≥u2■+v3■−1x_{23\orangebox} \ge u_{2\orangebox} + v_{3\orangebox} - 1 Square (2, 3), Orange Patch
x24■≥u2■+v4■−1x_{24\orangebox} \ge u_{2\orangebox} + v_{4\orangebox} - 1 Square (2, 4), Orange Patch
x25■≥u2■+v5■−1x_{25\orangebox} \ge u_{2\orangebox} + v_{5\orangebox} - 1 Square (2, 5), Orange Patch
x26■≥u2■+v6■−1x_{26\orangebox} \ge u_{2\orangebox} + v_{6\orangebox} - 1 Square (2, 6), Orange Patch
x31■≥u3■+v1■−1x_{31\orangebox} \ge u_{3\orangebox} + v_{1\orangebox} - 1 Square (3, 1), Orange Patch
x32■≥u3■+v2■−1x_{32\orangebox} \ge u_{3\orangebox} + v_{2\orangebox} - 1 Square (3, 2), Orange Patch
x33■≥u3■+v3■−1x_{33\orangebox} \ge u_{3\orangebox} + v_{3\orangebox} - 1 Square (3, 3), Orange Patch
x34■≥u3■+v4■−1x_{34\orangebox} \ge u_{3\orangebox} + v_{4\orangebox} - 1 Square (3, 4), Orange Patch
x35■≥u3■+v5■−1x_{35\orangebox} \ge u_{3\orangebox} + v_{5\orangebox} - 1 Square (3, 5), Orange Patch
x36■≥u3■+v6■−1x_{36\orangebox} \ge u_{3\orangebox} + v_{6\orangebox} - 1 Square (3, 6), Orange Patch
x41■≥u4■+v1■−1x_{41\orangebox} \ge u_{4\orangebox} + v_{1\orangebox} - 1 Square (4, 1), Orange Patch
x42■≥u4■+v2■−1x_{42\orangebox} \ge u_{4\orangebox} + v_{2\orangebox} - 1 Square (4, 2), Orange Patch
x43■≥u4■+v3■−1x_{43\orangebox} \ge u_{4\orangebox} + v_{3\orangebox} - 1 Square (4, 3), Orange Patch
x44■≥u4■+v4■−1x_{44\orangebox} \ge u_{4\orangebox} + v_{4\orangebox} - 1 Square (4, 4), Orange Patch
x45■≥u4■+v5■−1x_{45\orangebox} \ge u_{4\orangebox} + v_{5\orangebox} - 1 Square (4, 5), Orange Patch
x46■≥u4■+v6■−1x_{46\orangebox} \ge u_{4\orangebox} + v_{6\orangebox} - 1 Square (4, 6), Orange Patch
x51■≥u5■+v1■−1x_{51\orangebox} \ge u_{5\orangebox} + v_{1\orangebox} - 1 Square (5, 1), Orange Patch
x52■≥u5■+v2■−1x_{52\orangebox} \ge u_{5\orangebox} + v_{2\orangebox} - 1 Square (5, 2), Orange Patch
x53■≥u5■+v3■−1x_{53\orangebox} \ge u_{5\orangebox} + v_{3\orangebox} - 1 Square (5, 3), Orange Patch
x54■≥u5■+v4■−1x_{54\orangebox} \ge u_{5\orangebox} + v_{4\orangebox} - 1 Square (5, 4), Orange Patch
x55■≥u5■+v5■−1x_{55\orangebox} \ge u_{5\orangebox} + v_{5\orangebox} - 1 Square (5, 5), Orange Patch
x56■≥u5■+v6■−1x_{56\orangebox} \ge u_{5\orangebox} + v_{6\orangebox} - 1 Square (5, 6), Orange Patch
x61■≥u6■+v1■−1x_{61\orangebox} \ge u_{6\orangebox} + v_{1\orangebox} - 1 Square (6, 1), Orange Patch
x62■≥u6■+v2■−1x_{62\orangebox} \ge u_{6\orangebox} + v_{2\orangebox} - 1 Square (6, 2), Orange Patch
x63■≥u6■+v3■−1x_{63\orangebox} \ge u_{6\orangebox} + v_{3\orangebox} - 1 Square (6, 3), Orange Patch
x64■≥u6■+v4■−1x_{64\orangebox} \ge u_{6\orangebox} + v_{4\orangebox} - 1 Square (6, 4), Orange Patch
x65■≥u6■+v5■−1x_{65\orangebox} \ge u_{6\orangebox} + v_{5\orangebox} - 1 Square (6, 5), Orange Patch
x66■≥u6■+v6■−1x_{66\orangebox} \ge u_{6\orangebox} + v_{6\orangebox} - 1 Square (6, 6), Orange Patch
x11■≥u1■+v1■−1x_{11\redbox} \ge u_{1\redbox} + v_{1\redbox} - 1 Square (1, 1), Red Patch
x12■≥u1■+v2■−1x_{12\redbox} \ge u_{1\redbox} + v_{2\redbox} - 1 Square (1, 2), Red Patch
x13■≥u1■+v3■−1x_{13\redbox} \ge u_{1\redbox} + v_{3\redbox} - 1 Square (1, 3), Red Patch
x14■≥u1■+v4■−1x_{14\redbox} \ge u_{1\redbox} + v_{4\redbox} - 1 Square (1, 4), Red Patch
x15■≥u1■+v5■−1x_{15\redbox} \ge u_{1\redbox} + v_{5\redbox} - 1 Square (1, 5), Red Patch
x16■≥u1■+v6■−1x_{16\redbox} \ge u_{1\redbox} + v_{6\redbox} - 1 Square (1, 6), Red Patch
x21■≥u2■+v1■−1x_{21\redbox} \ge u_{2\redbox} + v_{1\redbox} - 1 Square (2, 1), Red Patch
x22■≥u2■+v2■−1x_{22\redbox} \ge u_{2\redbox} + v_{2\redbox} - 1 Square (2, 2), Red Patch
x23■≥u2■+v3■−1x_{23\redbox} \ge u_{2\redbox} + v_{3\redbox} - 1 Square (2, 3), Red Patch
x24■≥u2■+v4■−1x_{24\redbox} \ge u_{2\redbox} + v_{4\redbox} - 1 Square (2, 4), Red Patch
x25■≥u2■+v5■−1x_{25\redbox} \ge u_{2\redbox} + v_{5\redbox} - 1 Square (2, 5), Red Patch
x26■≥u2■+v6■−1x_{26\redbox} \ge u_{2\redbox} + v_{6\redbox} - 1 Square (2, 6), Red Patch
x31■≥u3■+v1■−1x_{31\redbox} \ge u_{3\redbox} + v_{1\redbox} - 1 Square (3, 1), Red Patch
x32■≥u3■+v2■−1x_{32\redbox} \ge u_{3\redbox} + v_{2\redbox} - 1 Square (3, 2), Red Patch
x33■≥u3■+v3■−1x_{33\redbox} \ge u_{3\redbox} + v_{3\redbox} - 1 Square (3, 3), Red Patch
x34■≥u3■+v4■−1x_{34\redbox} \ge u_{3\redbox} + v_{4\redbox} - 1 Square (3, 4), Red Patch
x35■≥u3■+v5■−1x_{35\redbox} \ge u_{3\redbox} + v_{5\redbox} - 1 Square (3, 5), Red Patch
x36■≥u3■+v6■−1x_{36\redbox} \ge u_{3\redbox} + v_{6\redbox} - 1 Square (3, 6), Red Patch
x41■≥u4■+v1■−1x_{41\redbox} \ge u_{4\redbox} + v_{1\redbox} - 1 Square (4, 1), Red Patch
x42■≥u4■+v2■−1x_{42\redbox} \ge u_{4\redbox} + v_{2\redbox} - 1 Square (4, 2), Red Patch
x43■≥u4■+v3■−1x_{43\redbox} \ge u_{4\redbox} + v_{3\redbox} - 1 Square (4, 3), Red Patch
x44■≥u4■+v4■−1x_{44\redbox} \ge u_{4\redbox} + v_{4\redbox} - 1 Square (4, 4), Red Patch
x45■≥u4■+v5■−1x_{45\redbox} \ge u_{4\redbox} + v_{5\redbox} - 1 Square (4, 5), Red Patch
x46■≥u4■+v6■−1x_{46\redbox} \ge u_{4\redbox} + v_{6\redbox} - 1 Square (4, 6), Red Patch
x51■≥u5■+v1■−1x_{51\redbox} \ge u_{5\redbox} + v_{1\redbox} - 1 Square (5, 1), Red Patch
x52■≥u5■+v2■−1x_{52\redbox} \ge u_{5\redbox} + v_{2\redbox} - 1 Square (5, 2), Red Patch
x53■≥u5■+v3■−1x_{53\redbox} \ge u_{5\redbox} + v_{3\redbox} - 1 Square (5, 3), Red Patch
x54■≥u5■+v4■−1x_{54\redbox} \ge u_{5\redbox} + v_{4\redbox} - 1 Square (5, 4), Red Patch
x55■≥u5■+v5■−1x_{55\redbox} \ge u_{5\redbox} + v_{5\redbox} - 1 Square (5, 5), Red Patch
x56■≥u5■+v6■−1x_{56\redbox} \ge u_{5\redbox} + v_{6\redbox} - 1 Square (5, 6), Red Patch
x61■≥u6■+v1■−1x_{61\redbox} \ge u_{6\redbox} + v_{1\redbox} - 1 Square (6, 1), Red Patch
x62■≥u6■+v2■−1x_{62\redbox} \ge u_{6\redbox} + v_{2\redbox} - 1 Square (6, 2), Red Patch
x63■≥u6■+v3■−1x_{63\redbox} \ge u_{6\redbox} + v_{3\redbox} - 1 Square (6, 3), Red Patch
x64■≥u6■+v4■−1x_{64\redbox} \ge u_{6\redbox} + v_{4\redbox} - 1 Square (6, 4), Red Patch
x65■≥u6■+v5■−1x_{65\redbox} \ge u_{6\redbox} + v_{5\redbox} - 1 Square (6, 5), Red Patch
x66■≥u6■+v6■−1x_{66\redbox} \ge u_{6\redbox} + v_{6\redbox} - 1 Square (6, 6), Red Patch
x11■≥u1■+v1■−1x_{11\bluebox} \ge u_{1\bluebox} + v_{1\bluebox} - 1 Square (1, 1), Blue Patch
x12■≥u1■+v2■−1x_{12\bluebox} \ge u_{1\bluebox} + v_{2\bluebox} - 1 Square (1, 2), Blue Patch
x13■≥u1■+v3■−1x_{13\bluebox} \ge u_{1\bluebox} + v_{3\bluebox} - 1 Square (1, 3), Blue Patch
x14■≥u1■+v4■−1x_{14\bluebox} \ge u_{1\bluebox} + v_{4\bluebox} - 1 Square (1, 4), Blue Patch
x15■≥u1■+v5■−1x_{15\bluebox} \ge u_{1\bluebox} + v_{5\bluebox} - 1 Square (1, 5), Blue Patch
x16■≥u1■+v6■−1x_{16\bluebox} \ge u_{1\bluebox} + v_{6\bluebox} - 1 Square (1, 6), Blue Patch
x21■≥u2■+v1■−1x_{21\bluebox} \ge u_{2\bluebox} + v_{1\bluebox} - 1 Square (2, 1), Blue Patch
x22■≥u2■+v2■−1x_{22\bluebox} \ge u_{2\bluebox} + v_{2\bluebox} - 1 Square (2, 2), Blue Patch
x23■≥u2■+v3■−1x_{23\bluebox} \ge u_{2\bluebox} + v_{3\bluebox} - 1 Square (2, 3), Blue Patch
x24■≥u2■+v4■−1x_{24\bluebox} \ge u_{2\bluebox} + v_{4\bluebox} - 1 Square (2, 4), Blue Patch
x25■≥u2■+v5■−1x_{25\bluebox} \ge u_{2\bluebox} + v_{5\bluebox} - 1 Square (2, 5), Blue Patch
x26■≥u2■+v6■−1x_{26\bluebox} \ge u_{2\bluebox} + v_{6\bluebox} - 1 Square (2, 6), Blue Patch
x31■≥u3■+v1■−1x_{31\bluebox} \ge u_{3\bluebox} + v_{1\bluebox} - 1 Square (3, 1), Blue Patch
x32■≥u3■+v2■−1x_{32\bluebox} \ge u_{3\bluebox} + v_{2\bluebox} - 1 Square (3, 2), Blue Patch
x33■≥u3■+v3■−1x_{33\bluebox} \ge u_{3\bluebox} + v_{3\bluebox} - 1 Square (3, 3), Blue Patch
x34■≥u3■+v4■−1x_{34\bluebox} \ge u_{3\bluebox} + v_{4\bluebox} - 1 Square (3, 4), Blue Patch
x35■≥u3■+v5■−1x_{35\bluebox} \ge u_{3\bluebox} + v_{5\bluebox} - 1 Square (3, 5), Blue Patch
x36■≥u3■+v6■−1x_{36\bluebox} \ge u_{3\bluebox} + v_{6\bluebox} - 1 Square (3, 6), Blue Patch
x41■≥u4■+v1■−1x_{41\bluebox} \ge u_{4\bluebox} + v_{1\bluebox} - 1 Square (4, 1), Blue Patch
x42■≥u4■+v2■−1x_{42\bluebox} \ge u_{4\bluebox} + v_{2\bluebox} - 1 Square (4, 2), Blue Patch
x43■≥u4■+v3■−1x_{43\bluebox} \ge u_{4\bluebox} + v_{3\bluebox} - 1 Square (4, 3), Blue Patch
x44■≥u4■+v4■−1x_{44\bluebox} \ge u_{4\bluebox} + v_{4\bluebox} - 1 Square (4, 4), Blue Patch
x45■≥u4■+v5■−1x_{45\bluebox} \ge u_{4\bluebox} + v_{5\bluebox} - 1 Square (4, 5), Blue Patch
x46■≥u4■+v6■−1x_{46\bluebox} \ge u_{4\bluebox} + v_{6\bluebox} - 1 Square (4, 6), Blue Patch
x51■≥u5■+v1■−1x_{51\bluebox} \ge u_{5\bluebox} + v_{1\bluebox} - 1 Square (5, 1), Blue Patch
x52■≥u5■+v2■−1x_{52\bluebox} \ge u_{5\bluebox} + v_{2\bluebox} - 1 Square (5, 2), Blue Patch
x53■≥u5■+v3■−1x_{53\bluebox} \ge u_{5\bluebox} + v_{3\bluebox} - 1 Square (5, 3), Blue Patch
x54■≥u5■+v4■−1x_{54\bluebox} \ge u_{5\bluebox} + v_{4\bluebox} - 1 Square (5, 4), Blue Patch
x55■≥u5■+v5■−1x_{55\bluebox} \ge u_{5\bluebox} + v_{5\bluebox} - 1 Square (5, 5), Blue Patch
x56■≥u5■+v6■−1x_{56\bluebox} \ge u_{5\bluebox} + v_{6\bluebox} - 1 Square (5, 6), Blue Patch
x61■≥u6■+v1■−1x_{61\bluebox} \ge u_{6\bluebox} + v_{1\bluebox} - 1 Square (6, 1), Blue Patch
x62■≥u6■+v2■−1x_{62\bluebox} \ge u_{6\bluebox} + v_{2\bluebox} - 1 Square (6, 2), Blue Patch
x63■≥u6■+v3■−1x_{63\bluebox} \ge u_{6\bluebox} + v_{3\bluebox} - 1 Square (6, 3), Blue Patch
x64■≥u6■+v4■−1x_{64\bluebox} \ge u_{6\bluebox} + v_{4\bluebox} - 1 Square (6, 4), Blue Patch
x65■≥u6■+v5■−1x_{65\bluebox} \ge u_{6\bluebox} + v_{5\bluebox} - 1 Square (6, 5), Blue Patch
x66■≥u6■+v6■−1x_{66\bluebox} \ge u_{6\bluebox} + v_{6\bluebox} - 1 Square (6, 6), Blue Patch
x11■≥u1■+v1■−1x_{11\magentabox} \ge u_{1\magentabox} + v_{1\magentabox} - 1 Square (1, 1), Magenta Patch
x12■≥u1■+v2■−1x_{12\magentabox} \ge u_{1\magentabox} + v_{2\magentabox} - 1 Square (1, 2), Magenta Patch
x13■≥u1■+v3■−1x_{13\magentabox} \ge u_{1\magentabox} + v_{3\magentabox} - 1 Square (1, 3), Magenta Patch
x14■≥u1■+v4■−1x_{14\magentabox} \ge u_{1\magentabox} + v_{4\magentabox} - 1 Square (1, 4), Magenta Patch
x15■≥u1■+v5■−1x_{15\magentabox} \ge u_{1\magentabox} + v_{5\magentabox} - 1 Square (1, 5), Magenta Patch
x16■≥u1■+v6■−1x_{16\magentabox} \ge u_{1\magentabox} + v_{6\magentabox} - 1 Square (1, 6), Magenta Patch
x21■≥u2■+v1■−1x_{21\magentabox} \ge u_{2\magentabox} + v_{1\magentabox} - 1 Square (2, 1), Magenta Patch
x22■≥u2■+v2■−1x_{22\magentabox} \ge u_{2\magentabox} + v_{2\magentabox} - 1 Square (2, 2), Magenta Patch
x23■≥u2■+v3■−1x_{23\magentabox} \ge u_{2\magentabox} + v_{3\magentabox} - 1 Square (2, 3), Magenta Patch
x24■≥u2■+v4■−1x_{24\magentabox} \ge u_{2\magentabox} + v_{4\magentabox} - 1 Square (2, 4), Magenta Patch
x25■≥u2■+v5■−1x_{25\magentabox} \ge u_{2\magentabox} + v_{5\magentabox} - 1 Square (2, 5), Magenta Patch
x26■≥u2■+v6■−1x_{26\magentabox} \ge u_{2\magentabox} + v_{6\magentabox} - 1 Square (2, 6), Magenta Patch
x31■≥u3■+v1■−1x_{31\magentabox} \ge u_{3\magentabox} + v_{1\magentabox} - 1 Square (3, 1), Magenta Patch
x32■≥u3■+v2■−1x_{32\magentabox} \ge u_{3\magentabox} + v_{2\magentabox} - 1 Square (3, 2), Magenta Patch
x33■≥u3■+v3■−1x_{33\magentabox} \ge u_{3\magentabox} + v_{3\magentabox} - 1 Square (3, 3), Magenta Patch
x34■≥u3■+v4■−1x_{34\magentabox} \ge u_{3\magentabox} + v_{4\magentabox} - 1 Square (3, 4), Magenta Patch
x35■≥u3■+v5■−1x_{35\magentabox} \ge u_{3\magentabox} + v_{5\magentabox} - 1 Square (3, 5), Magenta Patch
x36■≥u3■+v6■−1x_{36\magentabox} \ge u_{3\magentabox} + v_{6\magentabox} - 1 Square (3, 6), Magenta Patch
x41■≥u4■+v1■−1x_{41\magentabox} \ge u_{4\magentabox} + v_{1\magentabox} - 1 Square (4, 1), Magenta Patch
x42■≥u4■+v2■−1x_{42\magentabox} \ge u_{4\magentabox} + v_{2\magentabox} - 1 Square (4, 2), Magenta Patch
x43■≥u4■+v3■−1x_{43\magentabox} \ge u_{4\magentabox} + v_{3\magentabox} - 1 Square (4, 3), Magenta Patch
x44■≥u4■+v4■−1x_{44\magentabox} \ge u_{4\magentabox} + v_{4\magentabox} - 1 Square (4, 4), Magenta Patch
x45■≥u4■+v5■−1x_{45\magentabox} \ge u_{4\magentabox} + v_{5\magentabox} - 1 Square (4, 5), Magenta Patch
x46■≥u4■+v6■−1x_{46\magentabox} \ge u_{4\magentabox} + v_{6\magentabox} - 1 Square (4, 6), Magenta Patch
x51■≥u5■+v1■−1x_{51\magentabox} \ge u_{5\magentabox} + v_{1\magentabox} - 1 Square (5, 1), Magenta Patch
x52■≥u5■+v2■−1x_{52\magentabox} \ge u_{5\magentabox} + v_{2\magentabox} - 1 Square (5, 2), Magenta Patch
x53■≥u5■+v3■−1x_{53\magentabox} \ge u_{5\magentabox} + v_{3\magentabox} - 1 Square (5, 3), Magenta Patch
x54■≥u5■+v4■−1x_{54\magentabox} \ge u_{5\magentabox} + v_{4\magentabox} - 1 Square (5, 4), Magenta Patch
x55■≥u5■+v5■−1x_{55\magentabox} \ge u_{5\magentabox} + v_{5\magentabox} - 1 Square (5, 5), Magenta Patch
x56■≥u5■+v6■−1x_{56\magentabox} \ge u_{5\magentabox} + v_{6\magentabox} - 1 Square (5, 6), Magenta Patch
x61■≥u6■+v1■−1x_{61\magentabox} \ge u_{6\magentabox} + v_{1\magentabox} - 1 Square (6, 1), Magenta Patch
x62■≥u6■+v2■−1x_{62\magentabox} \ge u_{6\magentabox} + v_{2\magentabox} - 1 Square (6, 2), Magenta Patch
x63■≥u6■+v3■−1x_{63\magentabox} \ge u_{6\magentabox} + v_{3\magentabox} - 1 Square (6, 3), Magenta Patch
x64■≥u6■+v4■−1x_{64\magentabox} \ge u_{6\magentabox} + v_{4\magentabox} - 1 Square (6, 4), Magenta Patch
x65■≥u6■+v5■−1x_{65\magentabox} \ge u_{6\magentabox} + v_{5\magentabox} - 1 Square (6, 5), Magenta Patch
x66■≥u6■+v6■−1x_{66\magentabox} \ge u_{6\magentabox} + v_{6\magentabox} - 1 Square (6, 6), Magenta Patch
x11■≥u1■+v1■−1x_{11\brickbox} \ge u_{1\brickbox} + v_{1\brickbox} - 1 Square (1, 1), Brick Patch
x12■≥u1■+v2■−1x_{12\brickbox} \ge u_{1\brickbox} + v_{2\brickbox} - 1 Square (1, 2), Brick Patch
x13■≥u1■+v3■−1x_{13\brickbox} \ge u_{1\brickbox} + v_{3\brickbox} - 1 Square (1, 3), Brick Patch
x14■≥u1■+v4■−1x_{14\brickbox} \ge u_{1\brickbox} + v_{4\brickbox} - 1 Square (1, 4), Brick Patch
x15■≥u1■+v5■−1x_{15\brickbox} \ge u_{1\brickbox} + v_{5\brickbox} - 1 Square (1, 5), Brick Patch
x16■≥u1■+v6■−1x_{16\brickbox} \ge u_{1\brickbox} + v_{6\brickbox} - 1 Square (1, 6), Brick Patch
x21■≥u2■+v1■−1x_{21\brickbox} \ge u_{2\brickbox} + v_{1\brickbox} - 1 Square (2, 1), Brick Patch
x22■≥u2■+v2■−1x_{22\brickbox} \ge u_{2\brickbox} + v_{2\brickbox} - 1 Square (2, 2), Brick Patch
x23■≥u2■+v3■−1x_{23\brickbox} \ge u_{2\brickbox} + v_{3\brickbox} - 1 Square (2, 3), Brick Patch
x24■≥u2■+v4■−1x_{24\brickbox} \ge u_{2\brickbox} + v_{4\brickbox} - 1 Square (2, 4), Brick Patch
x25■≥u2■+v5■−1x_{25\brickbox} \ge u_{2\brickbox} + v_{5\brickbox} - 1 Square (2, 5), Brick Patch
x26■≥u2■+v6■−1x_{26\brickbox} \ge u_{2\brickbox} + v_{6\brickbox} - 1 Square (2, 6), Brick Patch
x31■≥u3■+v1■−1x_{31\brickbox} \ge u_{3\brickbox} + v_{1\brickbox} - 1 Square (3, 1), Brick Patch
x32■≥u3■+v2■−1x_{32\brickbox} \ge u_{3\brickbox} + v_{2\brickbox} - 1 Square (3, 2), Brick Patch
x33■≥u3■+v3■−1x_{33\brickbox} \ge u_{3\brickbox} + v_{3\brickbox} - 1 Square (3, 3), Brick Patch
x34■≥u3■+v4■−1x_{34\brickbox} \ge u_{3\brickbox} + v_{4\brickbox} - 1 Square (3, 4), Brick Patch
x35■≥u3■+v5■−1x_{35\brickbox} \ge u_{3\brickbox} + v_{5\brickbox} - 1 Square (3, 5), Brick Patch
x36■≥u3■+v6■−1x_{36\brickbox} \ge u_{3\brickbox} + v_{6\brickbox} - 1 Square (3, 6), Brick Patch
x41■≥u4■+v1■−1x_{41\brickbox} \ge u_{4\brickbox} + v_{1\brickbox} - 1 Square (4, 1), Brick Patch
x42■≥u4■+v2■−1x_{42\brickbox} \ge u_{4\brickbox} + v_{2\brickbox} - 1 Square (4, 2), Brick Patch
x43■≥u4■+v3■−1x_{43\brickbox} \ge u_{4\brickbox} + v_{3\brickbox} - 1 Square (4, 3), Brick Patch
x44■≥u4■+v4■−1x_{44\brickbox} \ge u_{4\brickbox} + v_{4\brickbox} - 1 Square (4, 4), Brick Patch
x45■≥u4■+v5■−1x_{45\brickbox} \ge u_{4\brickbox} + v_{5\brickbox} - 1 Square (4, 5), Brick Patch
x46■≥u4■+v6■−1x_{46\brickbox} \ge u_{4\brickbox} + v_{6\brickbox} - 1 Square (4, 6), Brick Patch
x51■≥u5■+v1■−1x_{51\brickbox} \ge u_{5\brickbox} + v_{1\brickbox} - 1 Square (5, 1), Brick Patch
x52■≥u5■+v2■−1x_{52\brickbox} \ge u_{5\brickbox} + v_{2\brickbox} - 1 Square (5, 2), Brick Patch
x53■≥u5■+v3■−1x_{53\brickbox} \ge u_{5\brickbox} + v_{3\brickbox} - 1 Square (5, 3), Brick Patch
x54■≥u5■+v4■−1x_{54\brickbox} \ge u_{5\brickbox} + v_{4\brickbox} - 1 Square (5, 4), Brick Patch
x55■≥u5■+v5■−1x_{55\brickbox} \ge u_{5\brickbox} + v_{5\brickbox} - 1 Square (5, 5), Brick Patch
x56■≥u5■+v6■−1x_{56\brickbox} \ge u_{5\brickbox} + v_{6\brickbox} - 1 Square (5, 6), Brick Patch
x61■≥u6■+v1■−1x_{61\brickbox} \ge u_{6\brickbox} + v_{1\brickbox} - 1 Square (6, 1), Brick Patch
x62■≥u6■+v2■−1x_{62\brickbox} \ge u_{6\brickbox} + v_{2\brickbox} - 1 Square (6, 2), Brick Patch
x63■≥u6■+v3■−1x_{63\brickbox} \ge u_{6\brickbox} + v_{3\brickbox} - 1 Square (6, 3), Brick Patch
x64■≥u6■+v4■−1x_{64\brickbox} \ge u_{6\brickbox} + v_{4\brickbox} - 1 Square (6, 4), Brick Patch
x65■≥u6■+v5■−1x_{65\brickbox} \ge u_{6\brickbox} + v_{5\brickbox} - 1 Square (6, 5), Brick Patch
x66■≥u6■+v6■−1x_{66\brickbox} \ge u_{6\brickbox} + v_{6\brickbox} - 1 Square (6, 6), Brick Patch
x11■≥u1■+v1■−1x_{11\brownbox} \ge u_{1\brownbox} + v_{1\brownbox} - 1 Square (1, 1), Brown Patch
x12■≥u1■+v2■−1x_{12\brownbox} \ge u_{1\brownbox} + v_{2\brownbox} - 1 Square (1, 2), Brown Patch
x13■≥u1■+v3■−1x_{13\brownbox} \ge u_{1\brownbox} + v_{3\brownbox} - 1 Square (1, 3), Brown Patch
x14■≥u1■+v4■−1x_{14\brownbox} \ge u_{1\brownbox} + v_{4\brownbox} - 1 Square (1, 4), Brown Patch
x15■≥u1■+v5■−1x_{15\brownbox} \ge u_{1\brownbox} + v_{5\brownbox} - 1 Square (1, 5), Brown Patch
x16■≥u1■+v6■−1x_{16\brownbox} \ge u_{1\brownbox} + v_{6\brownbox} - 1 Square (1, 6), Brown Patch
x21■≥u2■+v1■−1x_{21\brownbox} \ge u_{2\brownbox} + v_{1\brownbox} - 1 Square (2, 1), Brown Patch
x22■≥u2■+v2■−1x_{22\brownbox} \ge u_{2\brownbox} + v_{2\brownbox} - 1 Square (2, 2), Brown Patch
x23■≥u2■+v3■−1x_{23\brownbox} \ge u_{2\brownbox} + v_{3\brownbox} - 1 Square (2, 3), Brown Patch
x24■≥u2■+v4■−1x_{24\brownbox} \ge u_{2\brownbox} + v_{4\brownbox} - 1 Square (2, 4), Brown Patch
x25■≥u2■+v5■−1x_{25\brownbox} \ge u_{2\brownbox} + v_{5\brownbox} - 1 Square (2, 5), Brown Patch
x26■≥u2■+v6■−1x_{26\brownbox} \ge u_{2\brownbox} + v_{6\brownbox} - 1 Square (2, 6), Brown Patch
x31■≥u3■+v1■−1x_{31\brownbox} \ge u_{3\brownbox} + v_{1\brownbox} - 1 Square (3, 1), Brown Patch
x32■≥u3■+v2■−1x_{32\brownbox} \ge u_{3\brownbox} + v_{2\brownbox} - 1 Square (3, 2), Brown Patch
x33■≥u3■+v3■−1x_{33\brownbox} \ge u_{3\brownbox} + v_{3\brownbox} - 1 Square (3, 3), Brown Patch
x34■≥u3■+v4■−1x_{34\brownbox} \ge u_{3\brownbox} + v_{4\brownbox} - 1 Square (3, 4), Brown Patch
x35■≥u3■+v5■−1x_{35\brownbox} \ge u_{3\brownbox} + v_{5\brownbox} - 1 Square (3, 5), Brown Patch
x36■≥u3■+v6■−1x_{36\brownbox} \ge u_{3\brownbox} + v_{6\brownbox} - 1 Square (3, 6), Brown Patch
x41■≥u4■+v1■−1x_{41\brownbox} \ge u_{4\brownbox} + v_{1\brownbox} - 1 Square (4, 1), Brown Patch
x42■≥u4■+v2■−1x_{42\brownbox} \ge u_{4\brownbox} + v_{2\brownbox} - 1 Square (4, 2), Brown Patch
x43■≥u4■+v3■−1x_{43\brownbox} \ge u_{4\brownbox} + v_{3\brownbox} - 1 Square (4, 3), Brown Patch
x44■≥u4■+v4■−1x_{44\brownbox} \ge u_{4\brownbox} + v_{4\brownbox} - 1 Square (4, 4), Brown Patch
x45■≥u4■+v5■−1x_{45\brownbox} \ge u_{4\brownbox} + v_{5\brownbox} - 1 Square (4, 5), Brown Patch
x46■≥u4■+v6■−1x_{46\brownbox} \ge u_{4\brownbox} + v_{6\brownbox} - 1 Square (4, 6), Brown Patch
x51■≥u5■+v1■−1x_{51\brownbox} \ge u_{5\brownbox} + v_{1\brownbox} - 1 Square (5, 1), Brown Patch
x52■≥u5■+v2■−1x_{52\brownbox} \ge u_{5\brownbox} + v_{2\brownbox} - 1 Square (5, 2), Brown Patch
x53■≥u5■+v3■−1x_{53\brownbox} \ge u_{5\brownbox} + v_{3\brownbox} - 1 Square (5, 3), Brown Patch
x54■≥u5■+v4■−1x_{54\brownbox} \ge u_{5\brownbox} + v_{4\brownbox} - 1 Square (5, 4), Brown Patch
x55■≥u5■+v5■−1x_{55\brownbox} \ge u_{5\brownbox} + v_{5\brownbox} - 1 Square (5, 5), Brown Patch
x56■≥u5■+v6■−1x_{56\brownbox} \ge u_{5\brownbox} + v_{6\brownbox} - 1 Square (5, 6), Brown Patch
x61■≥u6■+v1■−1x_{61\brownbox} \ge u_{6\brownbox} + v_{1\brownbox} - 1 Square (6, 1), Brown Patch
x62■≥u6■+v2■−1x_{62\brownbox} \ge u_{6\brownbox} + v_{2\brownbox} - 1 Square (6, 2), Brown Patch
x63■≥u6■+v3■−1x_{63\brownbox} \ge u_{6\brownbox} + v_{3\brownbox} - 1 Square (6, 3), Brown Patch
x64■≥u6■+v4■−1x_{64\brownbox} \ge u_{6\brownbox} + v_{4\brownbox} - 1 Square (6, 4), Brown Patch
x65■≥u6■+v5■−1x_{65\brownbox} \ge u_{6\brownbox} + v_{5\brownbox} - 1 Square (6, 5), Brown Patch
x66■≥u6■+v6■−1x_{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
Required 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■<h■w_{\orangebox} < h_{\orangebox} Orange Patch
Square-Patch Constraints
w■=h■w_{\redbox} = h_{\redbox} Red Patch
Integrity Constraints
l■∈Nl_{\yellowbox} \in \N Yellow Patch
l■∈Nl_{\tealbox} \in \N Teal Patch
l■∈Nl_{\purplebox} \in \N Purple Patch
l■∈Nl_{\greenbox} \in \N Green Patch
l■∈Nl_{\orangebox} \in \N Orange Patch
l■∈Nl_{\redbox} \in \N Red Patch
l■∈Nl_{\bluebox} \in \N Blue Patch
l■∈Nl_{\magentabox} \in \N Magenta Patch
l■∈Nl_{\brickbox} \in \N Brick Patch
l■∈Nl_{\brownbox} \in \N Brown Patch
w■∈Nw_{\yellowbox} \in \N Yellow Patch
w■∈Nw_{\tealbox} \in \N Teal Patch
w■∈Nw_{\purplebox} \in \N Purple Patch
w■∈Nw_{\greenbox} \in \N Green Patch
w■∈Nw_{\orangebox} \in \N Orange Patch
w■∈Nw_{\redbox} \in \N Red Patch
w■∈Nw_{\bluebox} \in \N Blue Patch
w■∈Nw_{\magentabox} \in \N Magenta Patch
w■∈Nw_{\brickbox} \in \N Brick Patch
w■∈Nw_{\brownbox} \in \N Brown Patch
t■∈Nt_{\yellowbox} \in \N Yellow Patch
t■∈Nt_{\tealbox} \in \N Teal Patch
t■∈Nt_{\purplebox} \in \N Purple Patch
t■∈Nt_{\greenbox} \in \N Green Patch
t■∈Nt_{\orangebox} \in \N Orange Patch
t■∈Nt_{\redbox} \in \N Red Patch
t■∈Nt_{\bluebox} \in \N Blue Patch
t■∈Nt_{\magentabox} \in \N Magenta Patch
t■∈Nt_{\brickbox} \in \N Brick Patch
t■∈Nt_{\brownbox} \in \N Brown Patch
h■∈Nh_{\yellowbox} \in \N Yellow Patch
h■∈Nh_{\tealbox} \in \N Teal Patch
h■∈Nh_{\purplebox} \in \N Purple Patch
h■∈Nh_{\greenbox} \in \N Green Patch
h■∈Nh_{\orangebox} \in \N Orange Patch
h■∈Nh_{\redbox} \in \N Red Patch
h■∈Nh_{\bluebox} \in \N Blue Patch
h■∈Nh_{\magentabox} \in \N Magenta Patch
h■∈Nh_{\brickbox} \in \N Brick Patch
h■∈Nh_{\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 is a child of Shikaku class and needs two inputs to be instantiated:

size
The side length 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 
    }, ...
}

The solve() method calls a modeler to structure the Linear Optimization logic behind the Patches’ game before solving it.

_opt_modeler.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
import pyomo.environ as pyo

from .._shared.optimization.modeler.opt_modeler import OptModeler
from ._game_grid import ShikakuGrid


class ShikakuOptModeler(OptModeler[ShikakuGrid]):

    def _set_range_sets(self) -> None:
        super()._set_range_sets()
        self._model.K = pyo.Set(initialize=self._game.seeds.keys()) # Rectangles

    def _set_composite_sets(self) -> None:
        super()._set_composite_sets()
        self._model.E = pyo.Set( # Rectangle Seeds
            initialize=[(*seed["square"], color) for color, seed in self._game.seeds.items()]
        )
        self._model.A = pyo.Set( # Rectangles with required area
            initialize=[color for color, seed in self._game.seeds.items() if seed.get("area")],
            domain=self._model.K
        )

    def _set_decision_variables(self) -> None:
        self.__set_rectangle_shape_decision_variables()
        self.__set_grid_square_decision_variables()

    def __set_rectangle_shape_decision_variables(self) -> None:
        self._model.t = pyo.Var( # Index of the top row of the rectangle k
            self._model.K,
            domain=pyo.PositiveIntegers,
            initialize=1,
            bounds=(1, self._model.m)
        )
        self._model.l = pyo.Var( # Index of the leftmost column of the rectangle k
            self._model.K,
            domain=pyo.PositiveIntegers,
            initialize=1,
            bounds=(1, self._model.n)
        )
        self._model.h = pyo.Var( # Height of rectangle k
            self._model.K,
            domain=pyo.PositiveIntegers,
            initialize=1,
            bounds=(1, self._model.m)
        )
        self._model.w = pyo.Var( # Width of rectangle k
            self._model.K,
            domain=pyo.PositiveIntegers,
            initialize=1,
            bounds=(1, self._model.n)
        )

    def __set_grid_square_decision_variables(self) -> None:
        self._model.u = pyo.Var( # u_ik = 1 if row i passes through rectangle k
            self._model.I, self._model.K,
            domain=pyo.Binary,
            initialize=0
        )
        self._model.v = pyo.Var( # v_jk = 1 if column j passes through rect k
            self._model.J, self._model.K,
            domain=pyo.Binary,
            initialize=0
        )
        self._model.x = pyo.Var( # x_ijk = 1 if square (i,j) is covered by rect k
            self._model.I, self._model.J, self._model.K,
            domain=pyo.Binary,
            initialize=0
        )

    def _set_parameters(self) -> None:
        self._model.a = pyo.Param( # Required areas
            self._model.K,
            domain=pyo.PositiveIntegers,
            initialize={
                color: seed["area"]
                for color, seed in self._game.seeds.items() if seed.get("area")
            }
        )

    def _set_constraints(self) -> None:
        self._set_non_overlapping_rectangles_constraints()
        self._set_game_grid_boundaries_constraints()
        self._set_rectangle_boundaries_constraints()
        self._set_rectangle_dimensions_constraints()
        self._set_mccormick_linearization_constraints()
        self._set_rectangle_seed_constraints()

    def _set_non_overlapping_rectangles_constraints(self) -> None:
        self._model.unique_rectangle_per_square_constraints = pyo.Constraint(
            self._model.S,
            rule=lambda model, i, j: pyo.quicksum(model.x[i, j, k] for k in model.K) == 1
        )

    def _set_game_grid_boundaries_constraints(self) -> None:
        self._model.bottom_row_constraints = pyo.Constraint(
            self._model.K,
            rule=lambda model, k: model.t[k] + model.h[k] - 1 <= model.m
        )
        self._model.rightmost_column_constraints = pyo.Constraint(
            self._model.K,
            rule=lambda model, k: model.l[k] + model.w[k] - 1 <= model.n
        )

    def _set_rectangle_boundaries_constraints(self) -> None:
        self._model.top_boundary_constraints = pyo.Constraint(
            self._model.I, self._model.K,
            rule=lambda model, i, k: model.t[k] - i <= model.m * (1 - model.u[i,k])
        )
        self._model.bottom_boundary_constraints = pyo.Constraint(
            self._model.I, self._model.K,
            rule=lambda model, i, k: i - (model.t[k] + model.h[k] - 1) <= model.m * (1 - model.u[i,k])
        )
        self._model.left_boundary_constraints = pyo.Constraint(
            self._model.J, self._model.K,
            rule=lambda model, j, k: model.l[k] - j <= model.n * (1 - model.v[j,k])
        )
        self._model.right_boundary_constraints = pyo.Constraint(
            self._model.J, self._model.K,
            rule=lambda model, j, k: j - (model.l[k] + model.w[k] - 1) <= model.n * (1 - model.v[j,k])
        )

    def _set_rectangle_dimensions_constraints(self) -> None:
        self._model.height_constraints = pyo.Constraint(
            self._model.K,
            rule=lambda model, k: pyo.quicksum(model.u[i,k] for i in model.I) == model.h[k]
        )
        self._model.width_constraints = pyo.Constraint(
            self._model.K,
            rule=lambda model, k: pyo.quicksum(model.v[j,k] for j in model.J) == model.w[k]
        )

    def _set_mccormick_linearization_constraints(self) -> None:
        self._model.cutout_row_constraints = pyo.Constraint(
            self._model.I, self._model.K,
            rule=lambda model, i, k: pyo.quicksum(model.x[i,j,k] for j in model.J) <= model.n * model.u[i,k]
        )
        self._model.cutout_column_constraints = pyo.Constraint(
            self._model.J, self._model.K,
            rule=lambda model, j, k: pyo.quicksum(model.x[i,j,k] for i in model.I) <= model.m * model.v[j,k]
        )
        self._model.square_coverage_constraints = pyo.Constraint(
            self._model.I, self._model.J, self._model.K,
            rule=lambda model, i, j, k: model.x[i,j,k] >= model.u[i,k] + model.v[j,k] - 1
        )

    def _set_rectangle_seed_constraints(self) -> None:
        self._model.seed_square_constraints = pyo.Constraint(
            self._model.E,
            rule=lambda model, i, j, k: model.x[i,j,k] == 1
        )
        self._model.area_constraints = pyo.Constraint( # Required areas
            self._model.A,
            rule=lambda model, k: pyo.quicksum(model.x[i, j, k] for (i, j) in model.S) == model.a[k]
        )

Program 1:Shikaku’s modeler with Pyomo components.

_opt_modeler.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
import pyomo.environ as pyo

from ..shikaku._opt_modeler import ShikakuOptModeler
from ._shape import PatchShape


class PatchesOptModeler(ShikakuOptModeler):

    def _set_composite_sets(self) -> None:
        super()._set_composite_sets()
        self._model.V = pyo.Set( # Vertical rectangles
            initialize=[
                color for color, seed in self._game.seeds.items()
                if seed["shape"] == PatchShape.VERTICAL
            ],
            domain=self._model.K
        )
        self._model.H = pyo.Set( # Horizontal rectangles
            initialize=[
                color for color, seed in self._game.seeds.items()
                if seed["shape"] == PatchShape.HORIZONTAL
            ],
            domain=self._model.K
        )
        self._model.Q = pyo.Set( # Squared rectangles
            initialize=[
                color for color, seed in self._game.seeds.items()
                if seed["shape"] == PatchShape.SQUARE
            ],
            domain=self._model.K
        )

    def _set_rectangle_seed_constraints(self) -> None:
        super()._set_rectangle_seed_constraints()
        self._model.vertical_rectangles_constraints = pyo.Constraint(
            self._model.V,
            rule=lambda model, k: model.h[k] >= model.w[k] + 1
        )
        self._model.horizontal_rectangles_constraints = pyo.Constraint(
            self._model.H,
            rule=lambda model, k: model.w[k] >= model.h[k] + 1
        )
        self._model.square_rectangles_constraints = pyo.Constraint(
            self._model.Q,
            rule=lambda model, k: model.h[k] == model.w[k]
        )

Program 2:Patches’ modeler inherits the Shikaku’s modeler to implement additional constraints.

The method display(), in its turn, calls a renderer to plot the Patches’ grid.

_renderer.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
import matplotlib.pyplot as plt
import networkx as nx

from .._shared.visualization.renderer.renderer import GameRenderer
from ._game_grid import ShikakuGrid


class ShikakuRenderer(GameRenderer[ShikakuGrid]):

    def _set_grid(self) -> None:
        self._grid = nx.grid_2d_graph(*self._game.dims)
        nx.set_node_attributes(
            self._grid,
            name="color",
            values={(i-1, j-1): k for (i, j), k in self._game.squares.items()}
        )
        nx.set_node_attributes(
            self._grid,
            name="seed_area",
            values={
                tuple(i-1 for i in seed["square"]): seed["area"]
                for seed in self._game.seeds.values()
            }
        )

    def display(self) -> None:
        plt.figure(figsize=(self._width, self._height))
        nx.draw(
            self._grid,
            pos={(i, j): (j, -i) for (i, j) in self._grid.nodes()},
            with_labels=True,
            labels= {
                tuple(i-1 for i in seed["square"]): seed["area"] if seed.get("area") else ""
                for seed in self._game.seeds.values()
            },
            node_size=1100,
            node_shape="s",
            node_color= list(nx.get_node_attributes(self._grid, "color").values()),
            width=0,
            arrows=False,
            edgecolors="black",
            linewidths=1
        )
        plt.show()

Program 3:The Shikaku’s renderer.

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

Game solved successfully!
<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.