Random Placement Problem |
| Description |
|
The random placement problem (RPP; for more details, see
http://www.fi.muni.cz/~hanka/rpp) seeks to place a set of randomly
generated rectangles (called objects) of different sizes into a larger rectangle (called placement area) in such a way
that no objects overlap and all objects’ borders are parallel to the border of the placement area. In addition, a set
of allowable placements can be randomly generated for each object. The ratio between the total area of all objects and
the size of the placement area will be denoted as the filled area ratio.
RPP allows us to generate various instances of the problem similar to a trivial timetabling problem. The correspondence is as follows: the object corresponds to a course to be timetabled – the x-coordinate to its time, the y-coordinate to its classroom. For example, a course taking three hours corresponds to an object with dimensions 3x1 (the course should be taught in one classroom only). Each course can be placed only in a classroom of sufficient capacity – we can expect that the classrooms are ordered increasingly in their size so each object will have a lower bound on its y-coordinate. MPP instances were generated as follows: First, the initial solution was computed. The changed problem differs from the initial problem by input perturbations. An input perturbation means that both x coordinate and y coordinate of a rectangle must differ from the initial values, i.e. x!=xinitial & y!=yinitial. For a single initial problem and for a given number of input perturbations, we can randomly generate various changed problems. In particular, for a given number of input perturbations, we randomly select a set of objects which should have input perturbations. The solution to MPP can be evaluated by the number of additional perturbations. They are given by subtraction of the final number of perturbations and the number of input perturbations. |
| Input Data Format |
Each input problem (e.g., gen22.pl) has the following structure:
objects([MPP instances contain an extra file with the solution (e.g., gen22.solution), with the following structure
assigned([[rect1X,[17]], [rect1Y,[5]], [rect2X,[24]], [rect2Y,[4]], ... [rect200X,[37]], [rect200Y,[10]]]).
There is also a file (e.g., gen22.mpp) describing which input placements are to be prohibited (not that if the input placement is prohibited, it means that also all values with the same X or Y coordinate are prohibited). It has the following structure:
perturbation( 1, 0, [] ). |
| Output Data Format |
In the output folder, there are result.pl, stat.pl and stat.csv files.
As for initial problem, result.pl has the following structure:
result(1,1,0.156,200,248,
averages( problem( 1 ), time( 0.128 ), assigned( 200.000 ) ).Finally, the content of file stat.csv is:
gen;time[s];timeRMS;assigned;assignedRMS;iters;itersRMSAs for minimal perturbation problem (MPP), the content of above files is a bit different. File result.pl:
result(1,0,0.078,200,260,
averages( initperturbations( 0 ), time( 0.078 ), assigned( 200.000 ), perturbations( 0.000 ) ).File stat.csv:
pert;time[s];timeRMS;assigned;assignedRMS;perturbations;perturbationsRMS;iters;itersRMS |
[back] |