|
请大家指教我的分析对不对(只作了第一问) 5 c* w# s( m; p
分析:简化的题目,已知有A(0,800),B(4000,2000),C(2000,4000)三点,求从A点出发,经过B,C点的最佳路径(找出最省线的路径)。路径选择的问题,即某一段是选择道路或架桥梁或挖隧道的问题,每条路径包括的属性值有:路径类型、造价、坡度、起始点高程、起始坐标。
5 @" ]- P/ R" L
4 q- s+ E- }- N% \7 L) I 5 W8 u4 o/ \$ w1 h) g- e
路径选择采用穷举法。如下:
9 \$ ]( Z- q* E k) s! V- I! \* h0 r4 ^
, k& [9 H) X0 }- }" D
" M" W2 |, _" r 1、由A点出发,向X、Y增大的方向(指东方、北方、东北方向)前进,计算出两点之间的坡度值,并以坡度值按以下方法选择类型。 U" P( F% b4 |) v3 K, ^5 W4 t
! T3 {. Q3 |: C. T
- f9 Y% U/ Q1 V4 I4 J A)、如果彼度值满足道路要求,类型选择道路。' e4 `# K, L& a* W0 c
( A, t, }+ s6 E9 ?3 M3 F
# h$ c4 p. i6 n
B)、如果彼度不满足道路要求,分两种情况:' U$ Y' f% W" p2 B5 P
" ?3 x9 W9 @& E$ s( ~- G) Z
+ U; X* b- F; X
如果前一个高程高于后一个高程,选择挖隧道类型。如果低于后一个高程,选择架桥梁。8 i9 h# u/ R6 W* ?' h3 t
3 k! n, g i/ F" J% v6 ]1 g
7 W; [, N! D- r0 o7 U% _( I2 | C)、当X=4800或Y=4800时的路径去掉。* P9 d1 P: I% C) j) V
7 E/ @- X( Q0 X- i1 E
* O& O9 c8 T- q, s D)、如果到达B、C点时,验算其有效性,如果B、C点高程不符合根据坡度计算的有效高程范围内,该路径去掉,路径去掉至结点处。 ( w# F, N8 G1 n8 n' P, Q8 P
5 |% N" d) w; F0 h% S
' X! R, h" N/ d+ ^6 e8 Y
2、得出从A点出发,经过B、C点的所有有效路径,并计算总造价。; [, G% F' c8 s$ v4 u
* R1 b* H7 m; F' r$ @6 p2 y ! o8 Q& C# D4 a* O1 |' `
3、计算出造价最低的路径为最终路径。
4 s9 J$ r+ J G( L
0 ^' q( I' H, C / n9 d8 v* J- ~, r# d# l
- ~9 D1 s1 u# D& |
' R% D: ]' q6 V8 }* } o 总造价:Cmin=Min(X,Y,Z)其中X为路段的总造价,Y为桥梁的总造价,Z为隧道的总造价:5 h) v- J: ?, _9 y3 H& H z( K) B) j9 [
7 Q6 u3 ?9 i8 f$ A: Z, ~8 O
5 G7 Y+ G. ^/ O% e0 @1 w X=总长度*300 Y=总长度*2000
, V* f6 u( i8 b ^9 i
3 T( Z5 j3 N; k3 U, r
9 ?3 ?# b" G- T Z=总长度*1500(长度小于等300)或Z=总长度*3000(大于300)
; W$ i+ M. ^( l8 q/ W+ a" ? 6 I! I1 _9 R/ x* I% [
+ ]8 r$ [" Z T9 n% n [此贴子已经被作者于2005-7-24 0:10:01编辑过] |