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

📄 rsmt20.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 SetAxes20 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	6131	4811	DT	7871	9452	DT	854	1630	DT	5468	655	DT	7539	7194	DT%%EndSetup % initialize_constraint_pool: 0.00 seconds. % Constraint pool initialized with: %	1	Total degree rows	54	coeffs. %	20	Cutset rows		167	coeffs. %	0	Incompatibility rows	0	coeffs. %	57	2-terminal SEC rows	200	coeffs. %	67	Total rows in pool	21	in LP % @PMEM 67 rows, 1 blocks, 1221 nzfree, 0 nzwasted, 1684 nztotal % build_initial_formulation: 0.00 seconds.% Resuming node 0  % @PAP adding 21 rows, 221 nz to LP  % @PL 21 rows, 54 cols, 275 nonzeros, 7 slack, 14 tight.  % @PAP adding 3 rows, 12 nz to LP  % @PL 24 rows, 54 cols, 287 nonzeros, 7 slack, 17 tight.  % @PAP adding 5 rows, 24 nz to LP  % @PL 29 rows, 54 cols, 311 nonzeros, 10 slack, 19 tight.  % @PAP adding 3 rows, 15 nz to LP  % @PL 32 rows, 54 cols, 326 nonzeros, 7 slack, 25 tight.  % @PAP adding 2 rows, 7 nz to LP  % @PL 34 rows, 54 cols, 333 nonzeros, 10 slack, 24 tight.  % @PAP adding 2 rows, 9 nz to LP  % @PL 36 rows, 54 cols, 342 nonzeros, 11 slack, 25 tight.  % @PAP adding 1 rows, 3 nz to LP  % @PL 37 rows, 54 cols, 345 nonzeros, 9 slack, 28 tight.  % Node 0 LP 1 Solution, length = 32583.000000, 0.00 0 % 0 fractional variables % @LO 0.00 32583.00000000000000000000 99.9000000000 % @LN 0.00 32583.00000000000000000000 99.9000000000 % @UO 0.00 34827.00000000000000000000 6.4432767680 % @UN 0.00 34827.00000000000000000000 6.4432767680 % Fixed 2 vars to 0 and 0 vars to 1. % @cutset: 3 connected components. % initially 4 congested vertices: % find_congested_components found 1 components: %	component 0:	4 verts,	5 edges % @D deleting 9 slack rows  % @PAP adding 5 rows, 64 nz to LP % @PMEM 72 rows, 1 blocks, 1152 nzfree, 0 nzwasted, 1684 nztotal  % @PL 33 rows, 54 cols, 327 nonzeros, 6 slack, 27 tight.  % @PAP adding 1 rows, 2 nz to LP  % @PL 34 rows, 54 cols, 329 nonzeros, 4 slack, 30 tight.  % Node 0 LP 2 Solution, length = 34697.000000, 0.00/0.00/0.00/0.00/0.00/0.00/0.00 5 % 0 fractional variables % @LO 0.00 32583.00000000000000000000 6.4432767680 % @LN 0.00 34697.00000000000000000000 0.3732736096 % Fixed 26 vars to 0 and 3 vars to 1. % @cutset: 2 connected components. % initially 4 congested vertices: % find_congested_components found 1 components: %	component 0:	3 verts,	3 edges % @D deleting 4 slack rows  % @PAP adding 2 rows, 22 nz to LP % @PMEM 74 rows, 1 blocks, 1128 nzfree, 0 nzwasted, 1684 nztotal  % @PL 32 rows, 54 cols, 316 nonzeros, 1 slack, 31 tight.  % Node 0 LP 3 Solution, length = 34767.000000, 0.00/0.00/0.00/0.00/0.00/0.00/0.00 2 % 0 fractional variables % @UO 0.00 34827.00000000000000000000 0.3732736096 % @UN 0.00 34767.00000000000000000000 0.2013403515  % *     0     0    34767.0000    34767.0000 % @LO 0.00 34697.00000000000000000000 0.2013403515 % @LN 0.00 34767.00000000000000000000 0.0000000000 % Certificate of solution: % @C	2983	2738 % @C	2983	4811 % @C	5486	4811 % @C	6045	4811 % @C	7539	8268 % @C	7871	8669 % @C	606	8201 % @C	7539	4811 % @C	1857	1630%%Page: 1 1BeginPlot	Plot_Terminals % fs3: 0 6 4	0 T	2983	2738	S	2983	2738	6 T	S	2983	2738	4 T	C % fs9: 2 6 7 11 15	2 T	2983	4811	C	2983	4811	6 T	S	2983	4811	5486	4811	S	5486	4811	7 T	S	5486	4811	6045	4811	S	6045	4811	11 T	S	6045	4811	15 T	S % fs11: 3 19 16 12	3 T	7539	8268	S	7539	8268	19 T	S	7539	8268	7871	8669	C	7871	8669	16 T	S	7871	8669	12 T	S % fs29: 14 10 1	14 T	606	8201	S	606	8201	10 T	S	606	8201	1 T	C % fs31: 15 19 13	15 T	7539	4811	S	7539	4811	19 T	S	7539	4811	13 T	C % fs32: 17 0 9	17 T	1857	1630	S	1857	1630	0 T	S	1857	1630	9 T	C % fs37: 8 10	10 T	8 T	C % fs42: 5 9	9 T	5 T	C % fs45: 5 18	5 T	18 T	C % fs47: 2 8	8 T	2 T	C  (Steiner Minimal Tree:  20 points,  length = 34767,  0.00 seconds)EndPlot% @0 % N M Nodes LPs P1CPU P2CPU TotCPU% @1 20 54 1 3 0.00 0.00 0.00% Z RootZ %Gap RootLPs RootCPU RedMST% @2 34767 34767.000000 0.00000 3 0.00 11.2158% InitPRows InitPNZ InitLPRows InitLPNZ% @3 67 396 21 275% RootPRows RootPNZ RootLPRows RootLPNZ% @4 74 482 32 316% FinalPRows FinalPNZ FinalLPRows FinalLPNZ% @5 74 482 32 316% SMTFSTs SMTAvgFSTSz SMTMaxFSTSz #2FSTs #3FSTs ... #10FSTS #>10FSTs% @6 10 2.900000 5 4 4 1 1 0 0 0 0 0 0

⌨️ 快捷键说明

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