📄 rsmt.ps
字号:
%!PS-Adobe-3.0%%Creator: Steiner Tree Version 3.1%%Copyright: Copyright (c) 1998, 2001 by David M. Warme%%LanguageLevel: 1%%DocumentNeededResources: font Times-Roman%%DocumentSuppliedResources: procset SteinerTreeProcs 2.0 0%%EndComments%%BeginProlog%%BeginProcSet: SteinerTreeProcs 2.0 0/LabelTerminals 0 def % set non-zero to label terminals/inch { 72 mul } def/PaperWidth 8.5 inch def/PaperHeight 11 inch def/BigBoxSize 7 inch def/SmallBoxSize 2 inch def/SmallBoxHeight SmallBoxSize def/SmallBoxWidth SmallBoxSize def/BoxHeight BigBoxSize def/BoxWidth BigBoxSize def/MinX 0 def/MaxX 1 def/MinY 0 def/MaxY 1 def/BoxMode 0 def % (0 ==> big plot, 1 ==> small plots)/SmallBoxCount 0 def/TermRadius 1 32 div inch def/LineWidth currentlinewidth def% Define the clipping region to be the inside edge of the box./ClipHeight BigBoxSize LineWidth sub def/ClipWidth ClipHeight def% Define the plotting region so that points plotted at the extremes will% exactly meet the edge of the clipping region. (Reduce by the terminal% radius on each side.)/PlotHeight ClipHeight TermRadius 2 mul sub def/PlotWidth ClipWidth TermRadius 2 mul sub def/XlateX { MinX sub MaxX MinX sub div PlotWidth mul } def/XlateY { MinY sub MaxY MinY sub div PlotHeight mul } def/XlateXY { exch XlateX exch XlateY } def/Dup2 { dup 3 -1 roll dup 4 1 roll exch } def/Swap2 { 4 2 roll } def% define the two fonts we will use:% - one for numbering the terminals% - one for printing the plot's title/TermNumPointsize 8 def/TitlePointsize 15 def/TermNumFont /Times-Roman findfont TermNumPointsize scalefontdef/UseTermNumFont { TermNumFont setfont } def/TitleFont /Times-Roman findfont TitlePointsize scalefontdef/UseTitleFont { TitleFont setfont } def/DefineTerminals { /NumTerms exch def /TermX NumTerms array def /TermY NumTerms array def /TermIndex 0 def} def/DT { TermY TermIndex 3 -1 roll put TermX TermIndex 3 -1 roll put /TermIndex TermIndex 1 add def} def/SetAxes { % minx maxx miny maxy /MaxY exch def /MinY exch def /MaxX exch def /MinX exch def} def/PTString 12 string def/Plot_Terminals { LabelTerminals 0 eq { % Display terminals, no labels 0 1 NumTerms 1 sub { % i dup % i i TermX exch get exch % x i TermY exch get newpath XlateXY TermRadius 0 360 arc fill } for } { % Display terminals, with labels 0 1 NumTerms 1 sub { % i dup % i i PTString cvs exch dup % str i i TermX exch get exch % str x i TermY exch get % str x y newpath XlateXY Dup2 TermRadius 0 360 arc fill moveto TermRadius 3 mul dup neg rmoveto UseTermNumFont show } for } ifelse} def% n T ==> Xn Yn, get coordinates of terminal n./T { dup TermX exch get exch TermY exch get} def% Draw a line segment./S { newpath XlateXY moveto XlateXY lineto stroke} def% Draw a corner. First point is incident to vertical segment.% Second point is incident to horizontal segment./C { % x1 y1 x2 y2 newpath % x1 y1 x2 y2 -> x1 y1 x1 y2 x2 y2 4 -1 roll dup 5 1 roll exch dup 4 -1 roll exch XlateXY moveto XlateXY lineto XlateXY lineto stroke} def/BeginPlot { FlushSmallPlot gsave PaperWidth BoxWidth sub 2 div PaperHeight BoxHeight sub 2 div translate newpath 0 0 moveto BoxWidth 0 lineto BoxWidth BoxHeight lineto 0 BoxHeight lineto closepath stroke gsave % establish a clipping region at the inside edge of the box LineWidth 2 div dup moveto ClipWidth 0 rlineto 0 ClipHeight rlineto ClipWidth neg 0 rlineto closepath clip % establish the origin for the plotting region LineWidth 2 div TermRadius add dup translate} def/EndPlot { grestore newpath UseTitleFont 0 0 moveto dup stringwidth pop BigBoxSize exch sub 2 div TitlePointsize -2 mul rmoveto show grestore showpage} def/BeginSmallPlot { gsave .75 inch SmallBoxCount 3 mod SmallBoxWidth .5 inch add mul add .75 inch 3 SmallBoxCount 3 idiv sub SmallBoxHeight .5 inch add mul add translate SmallBoxWidth BoxWidth div SmallBoxHeight BoxHeight div scale newpath 0 0 moveto BoxWidth 0 lineto BoxWidth BoxHeight lineto 0 BoxHeight lineto closepath stroke gsave % establish a clipping region at the inside edge of the box LineWidth 2 div dup moveto ClipWidth 0 rlineto 0 ClipHeight rlineto ClipWidth neg 0 rlineto closepath clip % establish the origin for the plotting region LineWidth 2 div TermRadius add dup translate} def/EndSmallPlot2 { grestore newpath UseTitleFont 0 0 moveto dup stringwidth pop BigBoxSize exch sub 2 div TitlePointsize -2 mul rmoveto show grestore /SmallBoxCount SmallBoxCount 1 add def SmallBoxCount 12 ge { FlushSmallPlot } if} def/FlushSmallPlot { SmallBoxCount 0 gt { showpage /SmallBoxCount 0 def } if} def/PT { dup % i i TermX exch get exch % x i TermY exch get newpath XlateXY TermRadius 0 360 arc fill} def%%EndProcSet%%EndProlog % ./bb % Args: % Phase 1: 0.00 seconds%%BeginSetup0 10000 0 10000 SetAxes10 DefineTerminals 1857 2738 DT 2894 8773 DT 1463 5183 DT 6905 8268 DT 3221 2457 DT 3473 730 DT 2983 4045 DT 5486 5208 DT 815 6755 DT 1875 934 DT%%EndSetup % initialize_constraint_pool: 0.00 seconds. % Constraint pool initialized with: % 1 Total degree rows 28 coeffs. % 10 Cutset rows 84 coeffs. % 0 Incompatibility rows 0 coeffs. % 20 2-terminal SEC rows 90 coeffs. % 31 Total rows in pool 11 in LP % @PMEM 31 rows, 1 blocks, 575 nzfree, 0 nzwasted, 808 nztotal % build_initial_formulation: 0.00 seconds.% Resuming node 0 % @PAP adding 11 rows, 112 nz to LP % @PL 11 rows, 28 cols, 140 nonzeros, 3 slack, 8 tight. % @PAP adding 2 rows, 7 nz to LP % @PL 13 rows, 28 cols, 147 nonzeros, 4 slack, 9 tight. % @PAP adding 1 rows, 2 nz to LP % @PL 14 rows, 28 cols, 149 nonzeros, 4 slack, 10 tight. % @PAP adding 1 rows, 4 nz to LP % @PL 15 rows, 28 cols, 153 nonzeros, 5 slack, 10 tight. % @PAP adding 1 rows, 3 nz to LP % @PL 16 rows, 28 cols, 156 nonzeros, 5 slack, 11 tight. % @PAP adding 1 rows, 3 nz to LP % @PL 17 rows, 28 cols, 159 nonzeros, 5 slack, 12 tight. % Node 0 LP 1 Solution, length = 20137.000000, 0.00 0 % 4 fractional variables % @LO 0.00 20137.00000000000000000000 99.9000000000 % @LN 0.00 20137.00000000000000000000 99.9000000000 % @UO 0.00 21143.00000000000000000000 4.7580759589 % @UN 0.00 21143.00000000000000000000 4.7580759589 % Fixed 7 vars to 0 and 0 vars to 1. % @cutset: 2 connected components. % initially 4 congested vertices: % find_congested_components found 1 components: % component 0: 4 verts, 6 edges % @D deleting 5 slack rows % @PAP adding 4 rows, 37 nz to LP % @PMEM 35 rows, 1 blocks, 534 nzfree, 0 nzwasted, 808 nztotal % @PL 16 rows, 28 cols, 155 nonzeros, 3 slack, 13 tight. % @PAP adding 1 rows, 4 nz to LP % @PL 17 rows, 28 cols, 159 nonzeros, 2 slack, 15 tight. % Node 0 LP 2 Solution, length = 21143.000000, 0.00/0.00/0.00/0.00/0.00/0.00/0.00 4 % 0 0 cutoff 21143.0000 % @LO 0.00 20137.00000000000000000000 4.7580759589 % @LN 0.00 21143.00000000000000000000 0.0000000000 % Certificate of solution: % @C 2983 2738 % @C 2983 5183 % @C 1463 6755 % @C 2894 8268 % @C 3221 934%%Page: 1 1BeginPlot Plot_Terminals % fs2: 0 6 4 0 T 2983 2738 S 2983 2738 6 T S 2983 2738 4 T C % fs9: 2 6 7 2 T 2983 5183 S 2983 5183 6 T S 2983 5183 7 T C % fs11: 8 2 1 3 8 T 1463 6755 S 1463 6755 2 T S 1463 6755 2894 8268 C 2894 8268 1 T S 2894 8268 3 T S % fs17: 9 4 5 9 T 3221 934 S 3221 934 4 T S 3221 934 5 T C (Steiner Minimal Tree: 10 points, length = 21143, 0.00 seconds)EndPlot% @0 % N M Nodes LPs P1CPU P2CPU TotCPU% @1 10 28 1 2 0.00 0.00 0.00% Z RootZ %Gap RootLPs RootCPU RedMST% @2 21143 (21143.000000) 0.00000 2 0.00 12.6864% InitPRows InitPNZ InitLPRows InitLPNZ% @3 31 202 11 140% RootPRows RootPNZ RootLPRows RootLPNZ% @4 35 239 17 159% FinalPRows FinalPNZ FinalLPRows FinalLPNZ% @5 35 239 17 159% SMTFSTs SMTAvgFSTSz SMTMaxFSTSz #2FSTs #3FSTs ... #10FSTS #>10FSTs% @6 4 3.250000 4 0 3 1 0 0 0 0 0 0 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -