⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsmt15.ps

📁 生成直角Steiner树的程序包
💻 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 SetAxes15 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	606	7576	DT	6045	4078	DT	9323	8669	DT	7952	2547	DT	303	8201	DT%%EndSetup % initialize_constraint_pool: 0.00 seconds. % Constraint pool initialized with: %	1	Total degree rows	41	coeffs. %	15	Cutset rows		124	coeffs. %	0	Incompatibility rows	0	coeffs. %	31	2-terminal SEC rows	134	coeffs. %	46	Total rows in pool	16	in LP % @PMEM 46 rows, 1 blocks, 854 nzfree, 0 nzwasted, 1196 nztotal % build_initial_formulation: 0.00 seconds.% Resuming node 0  % @PAP adding 16 rows, 165 nz to LP  % @PL 16 rows, 41 cols, 206 nonzeros, 7 slack, 9 tight.  % @PAP adding 3 rows, 15 nz to LP  % @PL 19 rows, 41 cols, 221 nonzeros, 7 slack, 12 tight.  % @PAP adding 2 rows, 7 nz to LP  % @PL 21 rows, 41 cols, 228 nonzeros, 8 slack, 13 tight.  % @PAP adding 2 rows, 13 nz to LP  % @PL 23 rows, 41 cols, 241 nonzeros, 8 slack, 15 tight.  % @PAP adding 1 rows, 4 nz to LP  % @PL 24 rows, 41 cols, 245 nonzeros, 8 slack, 16 tight.  % Node 0 LP 1 Solution, length = 27567.000000, 0.00 0 % 0 fractional variables % @LO 0.00 27567.00000000000000000000 99.9000000000 % @LN 0.00 27567.00000000000000000000 99.9000000000 % @UO 0.00 30990.00000000000000000000 11.0454985479 % @UN 0.00 30990.00000000000000000000 11.0454985479 % @cutset: 3 connected components. % initially 4 congested vertices: % find_congested_components found 1 components: %	component 0:	4 verts,	5 edges % @D deleting 8 slack rows  % @PAP adding 6 rows, 84 nz to LP % @PMEM 52 rows, 1 blocks, 764 nzfree, 0 nzwasted, 1196 nztotal  % @PL 22 rows, 41 cols, 254 nonzeros, 4 slack, 18 tight.  % @PAP adding 1 rows, 2 nz to LP  % @PL 23 rows, 41 cols, 256 nonzeros, 3 slack, 20 tight.  % Node 0 LP 2 Solution, length = 29815.000000, 0.00/0.00/0.00/0.00/0.00/0.00/0.00 6 % 0 fractional variables % @LO 0.00 27567.00000000000000000000 11.0454985479 % @LN 0.00 29815.00000000000000000000 3.7915456599 % @UO 0.00 30990.00000000000000000000 3.7915456599 % @UN 0.00 30433.00000000000000000000 2.0306903690 % Fixed 3 vars to 0 and 1 vars to 1. % @cutset: 2 connected components. % initially 3 congested vertices: % find_congested_components found 1 components: %	component 0:	3 verts,	3 edges % @D deleting 3 slack rows  % @PAP adding 2 rows, 16 nz to LP % @PMEM 54 rows, 1 blocks, 746 nzfree, 0 nzwasted, 1196 nztotal  % @PL 22 rows, 41 cols, 241 nonzeros, 3 slack, 19 tight.  % Node 0 LP 3 Solution, length = 30056.500000, 0.00/0.00/0.00/0.00/0.00/0.00/0.00 2 % 6 fractional variables % @LO 0.00 29815.00000000000000000000 2.0306903690 % @LN 0.00 30056.50000000000000000000 1.2371438899 % Fixed 10 vars to 0 and 0 vars to 1. % initially 6 congested vertices: % find_congested_components found 1 components: %	component 0:	6 verts,	5 edges % @D deleting 3 slack rows  % @PAP adding 11 rows, 195 nz to LP % @PMEM 65 rows, 1 blocks, 540 nzfree, 0 nzwasted, 1196 nztotal  % @PL 30 rows, 41 cols, 402 nonzeros, 11 slack, 19 tight.  % @PAP adding 1 rows, 4 nz to LP  % @PL 31 rows, 41 cols, 406 nonzeros, 15 slack, 16 tight.  % @PAP adding 1 rows, 5 nz to LP  % @PL 32 rows, 41 cols, 411 nonzeros, 12 slack, 20 tight.  % Node 0 LP 4 Solution, length = 30367.000000, 0.00/0.00/0.00/0.00/0.00/0.00/0.00 11 % 0 fractional variables % @UO 0.00 30433.00000000000000000000 1.2371438899 % @UN 0.00 30367.00000000000000000000 1.0224915204  % *     0     0    30367.0000    30367.0000 % @LO 0.00 30056.50000000000000000000 1.0224915204 % @LN 0.00 30367.00000000000000000000 0.0000000000 % Certificate of solution: % @C	2983	2738 % @C	2983	5183 % @C	6045	5208 % @C	3221	934 % @C	606	8201%%Page: 1 1BeginPlot	Plot_Terminals % fs3: 0 6 4	0 T	2983	2738	S	2983	2738	6 T	S	2983	2738	4 T	C % fs10: 2 6 7	2 T	2983	5183	S	2983	5183	6 T	S	2983	5183	7 T	C % fs19: 7 11 3	7 T	6045	5208	S	6045	5208	11 T	S	6045	5208	3 T	C % fs20: 9 4 5	9 T	3221	934	S	3221	934	4 T	S	3221	934	5 T	C % fs23: 14 10 1	14 T	606	8201	S	606	8201	10 T	S	606	8201	1 T	C % fs28: 8 10	10 T	8 T	C % fs34: 2 8	8 T	2 T	C % fs36: 3 12	3 T	12 T	C % fs39: 11 13	11 T	13 T	C  (Steiner Minimal Tree:  15 points,  length = 30367,  0.00 seconds)EndPlot% @0 % N M Nodes LPs P1CPU P2CPU TotCPU% @1 15 41 1 4 0.00 0.00 0.00% Z RootZ %Gap RootLPs RootCPU RedMST% @2 30367 30367.000000 0.00000 4 0.00 6.8897% InitPRows InitPNZ InitLPRows InitLPNZ% @3 46 296 16 206% RootPRows RootPNZ RootLPRows RootLPNZ% @4 65 591 32 411% FinalPRows FinalPNZ FinalLPRows FinalLPNZ% @5 65 591 32 411% SMTFSTs SMTAvgFSTSz SMTMaxFSTSz #2FSTs #3FSTs ... #10FSTS #>10FSTs% @6 9 2.555556 3 4 5 0 0 0 0 0 0 0 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -