% Example 8.7: Floorplan generation test script % Section 8.8.1/2, Boyd & Vandenberghe "Convex Optimization" % Joelle Skaf 12/04/05 % % Rectangles aligned with the axes need to be place in the smallest % possible bounding box. No overlap is allowed. Each rectangle to be placed % can be reconfigured, within some limits. % In the current problem, 60 rectangles are to be place. We are given 2 % acyclic graphs H and V (for horizontal and vertical) that specify the % relative positioning constraints of those rectangles. % We are also given minimal areas for the rectangles and aspect ratio % constraints % input data load data_floorplan_60; rho = 1; Amin = 100*ones(1,n); [W, H, w, h, x, y] = floorplan(adj_H, adj_V, rho, Amin,ones(60,1)*0.5,ones(60,1)*2); fill([0; W; W; 0],[0;0;H;H],[1 1 1]); % bounding box hold on for i=1:n fill([x(i); x(i)+w(i); x(i)+w(i); x(i)],[y(i);y(i);y(i)+h(i);y(i)+h(i)],0.90*[1 1 1]); hold on; text(x(i)+w(i)/2, y(i)+h(i)/2,[int2str(i)]); end axis([0 W 0 H]); axis equal; axis off;