The FLP is a part of a well known family of problems called NP-Complete. The idea is to place fixed area departments in a facility of fixed dimensions. Generally, there are two ways to place these departments, either keeping their length and width dimensions intact or modifying their dimensions but keeping the area intact.
Using user-controlled animation, FLAP is a graphical gateway into the visualization of various FLP heuristics. The user has full control over the type of FLP problem to be solved, the data generated, the process of solving the problem at hand, and the visualization of the process.
FLAP was designed and implemented by Sidarth Khoshoo under the direction, and design of Professor Phil Kaminsky of the UC Berkeley Industrial Engineering and Operations Research department.
Another way to configure the facility dimensions can be done using the mouse, see below. In this dialog window there is also an option to randomly generate the rest of the facility data using the Java API pseudorandom number generator. This simplifies the delay of creating large windows with many entries for input. For example, a flow matrix for 30 departments will contain 870 entries and will take quite some time to construct. If the random option is selected, the departments will occupy 65% of the facility area.
The subsequent dialogs from the current one (if the random option is not selected) configure various properties of the departments. The initial order of the department list is the order seen in the department dimensions dialog. It can be randomized by clicking on "Randomize Initial Layout" under the "Edit" menu.
You can come back and edit any of the facility properties anytime by clicking on "Configure Facility..." under the "Edit" menu.
After configuring the facility properties, you can configure the department dimensions by clicking "Next >" (if the random option is not selected). A dialog will pop up with entries for the number of departments to be created. You can enter your own values or still randomly generate the dimensions by clicking the "Random Dimensions" button. Only 65% of the total facility area is used for the sum of the departments' area. Each department width and height that is randomly generated is determined using the golden ratio on the random area determined. The centers of the departments (used for cost calculation) are the geometric centers.
Each department will have an identifying number when drawn in the facility screen. The dimensions for the department with a specific id is the same as seen in the department dimension configuration dialog.
The next property to determine is the flow matrix. After configuring the dimensions for all the departments in the department list, pressing "Next >" will pop up a dialog window containing entries for the flow matrix.
Note: Generating the flow matrix is a VERY time consuming expense. You will see a dialog that displays how much of the flow matrix is constructed as it is constructed. It is advised that you click on "Random Flows & OK" in the dialog containing the department dimensions.
If you do want to enter the flow values between every pair of departments, you can do so or have them randomly generated again. At the bottom of the flow matrix dialog is the button "Random Flows". This generates random flows for all entries in the flow matrix. Clicking "OK" will configure the departments as well as the facility. Flow values must be in the range of 1 to 100.
You can come back anytime to edit the department dimensions or flow values by clicking on "Configure Facility..." under the "Edit" menu.
After placing a department, it tries to "push" it up as far as possible. Note that this algorithm does not push the departments left after pushing them up, therefore complete packing is not done. This algorithm keeps the departments length and width as is. Keep in mind a FLP heuristic or the user may rotate the department.
This heuristic creates a new facility whose area is determined by the sum of the areas of the departments. The new facility's dimensions are modeled after the original facility's dimensions by using the aspect ratio of the outer facility. Each department in a band has the same height but each width is determined by the individual area. The sum of the department widths in a band are constant for each band, therefore keeping to the aspect ratio of the facility's dimensions. This algorithm ensures that there is at least one department per band. The algorithm uses the average area per band as a guideline for which departments to place in a band.
To choose the number of bands for this layout heuristic, click on "Banding..." under the "Layout" submenu of the "Heuristics" menu. The default is 3. The lower bound on the number of bands is 1, where all the departments would be placed in one band. The upper bound is the number of departments in the facility, where each department would be in a separate band.
Note: The banding layout heuristic disables the rotation variant on any FLP algorithm.
Note: An initial layout, whether infeasible or not, is always accepted.
Basically, it performs a switch between every pair of departments i and j. If a switch lowers the overall cost it is accepted otherwise it is rejected. Also the rotation part of two-optimization rotates all the departments starting from i to the end of the list. If rotation is enabled, a switch will be accepted on the grounds of the rotation lowering the best cost. Rotation can be selected by clicking on "Two-Optimization..." under the FLP heuristics menu. The default for is no rotation.
randNum < e^(cost delta/temperature)
where the randNum is a random generated number between 0.0 and 1.0, and where the cost delta is the difference between the current lower cost and the new higher cost (negative), and where the temperature is the current temperature somewhere in the range of the starting and stopping temperatures.
The implementation in FLAP also has a rotation variant as in the two-optimization. Please note that this variant dramatically increases the heuristic's running time. As in two-optimization, this variant switches all department's dimension starting from the first department, of the recently switched pair, to the end of the department list.
Note: The default speed for simulated annealing of execution is set to as fast as possible. Simulated annealing usually takes longer than other heuristics. You may, however, change the speed any time.
To configure the simulated annealing parameters, simply select "Simulated Annealing..." from the FLP menu. The following is a list of configurable parameters:
Please note that rejected layouts will not be shown in simulated annealing since the number of iterations is very high. Only the accepted layouts are shown after each phase.
Note: Pressing stop should be done with caution. It leaves the facility with the cheapest accepted layout.
Besides controlling when a heuristic can run, you can control the speed of animation. This is helpful to find out exactly what a heuristic is doing to the department list. By moving the "bubble" or "thumb" of the scrollbar to the right, you can speed the heuristic up or vice versa if you move it to the left.
Another animation option that you can control is the animation of rejected layouts. Since many layouts will be rejected by a heuristic, turning this off will only show the animation of accepted layouts which may happen very infrequently. You can select or deselect this by clicking on the "Show Rejected" item under the status bar. By default, this option is selected.
A dialog window will pop up with three buttons:
You can view this information even while running a heuristic. Pressing "Refresh" will take the current layout (either rejected or accepted) that the FLP heuristic is looking at. You are better off slowing down the heuristic or pausing to get the information desired.
Please see above (Information Retrieval | Facility Layout) for a description of the buttons and actions of the dialog window opened.
Note: Changing the facility dimensions while using the banding layout causes the banding layout to use the new aspect ratio of the facility width and height.
Using this action, you can pack the departments any which way you desire. It may not be obvious, however, what a low-cost solution is if the flows were randomly generated. You can use this action to move an infeasible department (drawn in red) into the facility if there is room.
Rotating a department is possible by clicking on the department and pressing the 'r' key. This is helpful if the current layout and subsequent layouts can benefit by rotating and placing one department to a new location.
Note: This action does not modify the department list
The advantages to running FLAP as an application is speed, and the reduction of the delay of downloading all the Java class files whenever they are needed by the FLAP applet.
Copyright © 1998 The Regents of the University of California