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

📄 rsmt7.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 SetAxes7 DefineTerminals	1857	2738	DT	2894	8773	DT	1463	5183	DT	6905	8268	DT	3221	2457	DT	3473	730	DT	2983	4045	DT%%EndSetup % initialize_constraint_pool: 0.00 seconds. % Constraint pool initialized with: %	1	Total degree rows	11	coeffs. %	7	Cutset rows		28	coeffs. %	0	Incompatibility rows	0	coeffs. %	8	2-terminal SEC rows	21	coeffs. %	16	Total rows in pool	8	in LP % @PMEM 16 rows, 1 blocks, 164 nzfree, 0 nzwasted, 240 nztotal % build_initial_formulation: 0.01 seconds.% Resuming node 0  % @PAP adding 8 rows, 39 nz to LP  % @PL 8 rows, 11 cols, 50 nonzeros, 3 slack, 5 tight.  % @PAP adding 1 rows, 2 nz to LP  % @PL 9 rows, 11 cols, 52 nonzeros, 3 slack, 6 tight.  % @PAP adding 1 rows, 2 nz to LP  % @PL 10 rows, 11 cols, 54 nonzeros, 3 slack, 7 tight.  % Node 0 LP 1 Solution, length = 13931.000000, 0.00 0 % 0 fractional variables % @LO 0.01 13931.00000000000000000000 99.9000000000 % @LN 0.01 13931.00000000000000000000 99.9000000000 % @UO 0.01 15190.00000000000000000000 8.2883475971 % @UN 0.01 15190.00000000000000000000 8.2883475971 % Fixed 1 vars to 0 and 0 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, 8 nz to LP % @PMEM 18 rows, 1 blocks, 154 nzfree, 0 nzwasted, 240 nztotal  % @PL 9 rows, 11 cols, 47 nonzeros, 0 slack, 9 tight.  % Node 0 LP 2 Solution, length = 15190.000000, 0.00/0.00/0.00/0.00/0.00/0.00/0.00 2  %       0     0        cutoff    15190.0000 % @LO 0.01 13931.00000000000000000000 8.2883475971 % @LN 0.01 15190.00000000000000000000 0.0000000000 % Certificate of solution: % @C	2983	2738 % @C	2894	5183 % @C	2894	8268%%Page: 1 1BeginPlot	Plot_Terminals % fs0: 0 6 4	0 T	2983	2738	S	2983	2738	6 T	S	2983	2738	4 T	C % fs4: 6 2 3 1	2894	5183	6 T	C	2894	5183	2 T	S	2894	5183	2894	8268	S	2894	8268	3 T	S	2894	8268	1 T	S % fs7: 4 5	4 T	5 T	C  (Steiner Minimal Tree:  7 points,  length = 15190,  0.01 seconds)EndPlot% @0 % N M Nodes LPs P1CPU P2CPU TotCPU% @1 7 11 1 2 0.00 0.01 0.01% Z RootZ %Gap RootLPs RootCPU RedMST% @2 15190 (15190.000000) 0.00000 2 0.01 12.9064% InitPRows InitPNZ InitLPRows InitLPNZ% @3 16 60 8 50% RootPRows RootPNZ RootLPRows RootLPNZ% @4 18 68 9 47% FinalPRows FinalPNZ FinalLPRows FinalLPNZ% @5 18 68 9 47% SMTFSTs SMTAvgFSTSz SMTMaxFSTSz #2FSTs #3FSTs ... #10FSTS #>10FSTs% @6 3 3.000000 4 1 1 1 0 0 0 0 0 0 0

⌨️ 快捷键说明

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