While this example perhaps doesn’t fully capture your exact constraints, your problem does appear to be one that lends itself well to be solved with a generic solver, such as the standard Galapagos plugin. In this case, by dividing the perimeter into same sized plots by lines that travel perpendicular along a “spine” and searching the parameter space along the spine, minimising the plot area difference from a target average:
180830_PlotDivision_Galapagos_00.gh (12.4 KB)
Perhaps you can adapt a similar logic for your case.