POLYOMINO_MULTIHEDRAL_EXAMPLE_PENT18X30
18x30 Rectangle tiled by 9 Copies of Pentominoes
POLYOMINO_MULTIHEDRAL_EXAMPLE_PENT18X30,
a MATLAB program which
sets up a problem in which an 18x30 rectangle
is to be tiled by 9 copies of each of the 12 distinct pentominoes,
and plots a solution computed by GUROBI.
Because this problem results in a large linear system to be solved,
we simply set up the linear system, write it to an LP file, and have
GUROBI compute a solution. The resulting solution was read by
GUROBI_SOLUTION_READ and written to a file that MATLAB can access
using load();
The solution to the tiling problem is then plotted.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Source Code:
-
filename_inc.m
numerically "increments" a file name.
-
pentomino_matrix.m
returns a 0/1 matrix defining a particular pentomino.
-
pentomino_name.m
given an index between 1 and 12, returns the corresponding name
F, I, L, N, P, T, U, V, W, X, Y, or Z.
-
pentomino_pack.m
packs the pentominoes into an MxNx12 array.
-
polyomino_condense.m,
cleans up a matrix that represents a polyomino by setting all nonzero
entries to 1, and removing initial and final rows and columns of zeros.
-
polyomino_embed_list.m,
for each possible embedding, lists the translation necessary to
to apply to the polyomino.
-
polyomino_embed_number.m,
reports the number of ways a polyomino can be embedded in a region.
-
polyomino_index.m,
computes an index for each nonzero polyomino entry.
-
polyomino_multihedral_example_pent18x30_define.m,
defines the problem.
-
polyomino_multihedral_example_pent18x30_tiling_plot.m,
plots the solution.
-
polyomino_multihedral_matrix.m,
determines the matrix and right hand side for a polyomino multihedral
problem.
-
polyomino_multihedral_tiling_plot.m,
is given matrices defining a region R and a set of polyominoes P, and a vector X,
computed by POLYOMINO_MULTIHEDRAL, which represents a tiling of R by the
polyominoes in P, and plots a representation of that tiling.
-
polyomino_multihedral_variants.m,
carries out reflections and rotations of all the polyominoes in a set P to
determine which transformations yield distinct variants.
-
polyomino_print.m,
prints a polyomino.
-
polyomino_transform.m,
carries out reflections and rotations of a polyomino.
-
timestamp.m,
prints the YMDHMS date as a timestamp.
Examples and Tests:
Last revised on 17 June 2018.