结构力学优化算法:禁忌搜索(TS):禁忌搜索算法在桥梁设计中的应用_第1页
结构力学优化算法:禁忌搜索(TS):禁忌搜索算法在桥梁设计中的应用_第2页
结构力学优化算法:禁忌搜索(TS):禁忌搜索算法在桥梁设计中的应用_第3页
结构力学优化算法:禁忌搜索(TS):禁忌搜索算法在桥梁设计中的应用_第4页
结构力学优化算法:禁忌搜索(TS):禁忌搜索算法在桥梁设计中的应用_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

结构力学优化算法:禁忌搜索(TS):禁忌搜索算法在桥梁设计中的应用1绪论1.1结构力学优化的重要性在工程设计领域,尤其是桥梁设计中,结构力学优化扮演着至关重要的角色。它不仅关乎结构的安全性和稳定性,还直接影响到材料的使用效率、成本控制以及环境影响。传统的设计方法往往基于经验或保守的估算,这在一定程度上限制了设计的创新性和经济性。而随着计算机技术的发展,结构优化算法,如禁忌搜索算法,为工程师提供了更为精确和高效的工具,帮助他们在满足结构性能要求的同时,实现资源的最优化配置。1.2禁忌搜索算法简介禁忌搜索算法(TabuSearch,TS)是一种启发式全局优化算法,由Glover在1986年提出。它通过引入“禁忌”机制来避免搜索过程中的局部最优陷阱,从而在复杂问题中寻找更优解。TS算法的核心在于其记忆功能,即通过记录已访问过的解及其邻域,避免重复搜索,同时允许在一定条件下重新访问“禁忌”的解,以跳出局部最优。1.2.1算法流程初始化:选择一个初始解,并定义禁忌列表的长度和初始禁忌期限。邻域搜索:在当前解的邻域内寻找最优解,如果该解不在禁忌列表中,则接受为新的当前解。禁忌更新:将接受的解加入禁忌列表,并更新禁忌期限。终止条件:当满足预设的终止条件(如迭代次数、解的质量等)时,算法停止。1.2.2禁忌机制禁忌机制是TS算法的关键,它通过设置“禁忌”来避免算法陷入循环或局部最优。禁忌列表中记录了最近被访问过的解,这些解在一定期限内不能被再次选择,从而迫使算法探索新的解空间。同时,为了防止算法过早收敛,TS算法还允许在某些条件下重新访问“禁忌”解,这被称为“aspirationcriterion”。1.2.3代码示例虽然本教程不深入代码实现,但以下是一个简化版的禁忌搜索算法伪代码示例,用于说明其基本流程:#简化版禁忌搜索算法伪代码

deftabu_search(initial_solution,max_iterations,tabu_tenure):

current_solution=initial_solution

best_solution=current_solution

tabu_list=[]

for_inrange(max_iterations):

#邻域搜索

neighbors=generate_neighbors(current_solution)

next_solution=None

best_neighbor=None

forneighborinneighbors:

ifneighbornotintabu_listand(next_solutionisNoneorevaluate(neighbor)>evaluate(next_solution)):

next_solution=neighbor

ifevaluate(neighbor)>evaluate(best_solution):

best_solution=neighbor

#禁忌更新

tabu_list.append(next_solution)

iflen(tabu_list)>tabu_tenure:

tabu_list.pop(0)

current_solution=next_solution

returnbest_solution

#生成邻域解

defgenerate_neighbors(solution):

#实现细节取决于具体问题

pass

#评估解的质量

defevaluate(solution):

#实现细节取决于具体问题

pass1.2.4应用于桥梁设计在桥梁设计中,TS算法可以用于优化结构的几何形状、材料选择、荷载分布等多方面。例如,通过调整桥梁的梁宽、梁高、支撑位置等参数,TS算法能够在满足结构强度和稳定性要求的前提下,寻找材料使用最少、成本最低的设计方案。这种优化不仅能够提高设计效率,还能在实际建造中节省大量资源,具有显著的经济效益和环境效益。1.2.5结论禁忌搜索算法为结构力学优化提供了一种灵活而强大的工具,尤其在处理桥梁设计等复杂工程问题时,能够有效避免局部最优,探索更广阔的设计空间。通过合理设置算法参数和邻域结构,工程师可以利用TS算法实现结构性能与成本之间的最佳平衡,推动桥梁设计向更高效、更经济、更环保的方向发展。2禁忌搜索算法原理2.1算法的基本概念禁忌搜索(TabuSearch,TS)算法是一种局部搜索算法的改进版本,由FredGlover在1986年提出。它通过引入“禁忌”机制来避免局部最优解,从而在解空间中进行更广泛的探索。TS算法的核心在于其记忆结构,即禁忌列表,它记录了最近被访问过的解或解的某些特征,以防止算法在搜索过程中重复这些解,从而促进解的多样性。2.1.1算法流程初始化:选择一个初始解,并初始化禁忌列表。邻域搜索:在当前解的邻域内寻找最优解。禁忌更新:如果找到的解在禁忌列表中,则根据更新策略决定是否接受该解。接受新解:如果新解优于当前解且不在禁忌列表中,或者满足某些条件(如aspirationcriterion),则接受新解。迭代:重复步骤2至4,直到满足停止条件。2.2禁忌列表的作用与更新策略2.2.1禁忌列表的作用禁忌列表是TS算法中避免重复搜索的关键。它存储了最近被访问过的解或解的某些特征,以确保算法不会在短时间内重复相同的搜索路径,从而有助于跳出局部最优解,探索更广泛的解空间。2.2.2更新策略禁忌列表的更新策略直接影响算法的性能。常见的更新策略包括:固定长度更新:禁忌列表保持固定长度,当列表满时,最旧的禁忌项被移除。动态长度更新:根据搜索过程中的情况动态调整禁忌列表的长度。aspirationcriterion:即使解在禁忌列表中,如果该解是当前搜索中找到的最优解,也可以被接受。2.3邻域结构的定义与搜索2.3.1邻域结构的定义邻域结构定义了从当前解到下一个解的转换规则。在结构优化问题中,邻域结构可能涉及改变结构的某些参数,如材料类型、截面尺寸或几何形状。2.3.2邻域搜索邻域搜索是TS算法中寻找新解的过程。算法在当前解的邻域内搜索,寻找最优解。如果找到的解优于当前解且不在禁忌列表中,或者满足aspirationcriterion,那么这个解将被接受,并成为新的当前解。2.3.3示例:桥梁设计中的邻域搜索假设我们正在优化一座桥梁的设计,目标是最小化成本,同时满足结构强度和稳定性要求。我们可以通过改变桥梁的某些参数,如梁的截面尺寸或支撑的材料,来定义邻域结构。#假设的桥梁设计优化代码示例

classBridgeDesign:

def__init__(self,beam_size,material):

self.beam_size=beam_size

self.material=material

defcost(self):

#计算桥梁成本的函数

returnself.beam_size*self.material.cost_per_unit

defstrength(self):

#计算桥梁强度的函数

returnself.beam_size*self.material.strength

defstability(self):

#计算桥梁稳定性的函数

returnself.beam_size*self.material.stability

#材料类

classMaterial:

def__init__(self,cost_per_unit,strength,stability):

self.cost_per_unit=cost_per_unit

self.strength=strength

self.stability=stability

#定义材料

steel=Material(100,500,100)

concrete=Material(50,300,50)

#初始设计

initial_design=BridgeDesign(10,steel)

#邻域搜索函数

defneighborhood_search(current_design):

#改变梁的尺寸

new_design1=BridgeDesign(current_design.beam_size+1,current_design.material)

#改变材料

new_design2=BridgeDesign(current_design.beam_size,concreteifcurrent_design.material==steelelsesteel)

#返回邻域内的设计

return[new_design1,new_design2]

#禁忌列表

tabu_list=[]

#算法迭代

for_inrange(100):

#生成邻域

neighbors=neighborhood_search(current_design)

#选择最优解

best_neighbor=min(neighbors,key=lambdadesign:design.cost())

#检查是否在禁忌列表中

ifbest_neighbornotintabu_list:

#更新当前设计

current_design=best_neighbor

else:

#如果在禁忌列表中,选择次优解

current_design=min([designfordesigninneighborsifdesignnotintabu_list],key=lambdadesign:design.cost())

#更新禁忌列表

tabu_list.append(current_design)

iflen(tabu_list)>20:

tabu_list.pop(0)在这个示例中,我们定义了一个BridgeDesign类来表示桥梁设计,以及一个Material类来表示不同的材料。neighborhood_search函数用于生成当前设计的邻域,通过改变梁的尺寸或材料来实现。算法迭代过程中,我们选择邻域中的最优解,但要检查是否在禁忌列表中,以避免重复搜索。如果最优解在禁忌列表中,我们选择次优解。禁忌列表的更新策略是保持固定长度,当列表满时,最旧的禁忌项被移除。通过这种方式,禁忌搜索算法能够在桥梁设计的优化问题中有效地探索解空间,避免陷入局部最优解,从而找到更优的设计方案。3桥梁设计中的优化问题3.1桥梁设计的挑战与目标桥梁设计是一个复杂的过程,涉及多个学科的交叉,如结构力学、材料科学、土木工程等。设计者面临的挑战包括但不限于:确保结构的安全性和稳定性,同时考虑经济成本、环境影响、美观以及施工的可行性。目标通常是在满足所有约束条件的前提下,寻找最优的设计方案,这可能意味着最小化材料使用、成本、重量或最大化结构的承载能力、寿命等。3.1.1例子:桥梁跨度优化假设我们正在设计一座悬索桥,需要确定主跨的长度。主跨长度直接影响到桥的总成本、结构的稳定性以及施工难度。我们可以通过建立数学模型,将主跨长度作为设计变量,以总成本作为目标函数,同时考虑桥梁的承载能力、风载荷、地震载荷等约束条件,使用优化算法来寻找最优的主跨长度。3.2结构优化的数学模型结构优化问题通常可以表示为一个数学规划问题,其形式如下:minimize其中,fx是目标函数,x是设计变量向量,gix和hjx3.2.1例子:桥梁材料优化考虑一座桥梁的梁设计,目标是最小化梁的总重量,同时确保梁的强度和刚度满足规范要求。设计变量可以是梁的截面尺寸和材料类型。数学模型可以表示为:minimize其中,W是梁的总重量,ρ是材料密度,A是截面面积,L是梁的长度,σ是梁的应力,δ是梁的挠度,σmax、δmax、Amin、Amax、Lmin、L3.2.2代码示例:使用Python进行桥梁材料优化importnumpyasnp

fromscipy.optimizeimportminimize

#定义目标函数:总重量

defweight(x):

rho,A,L=x

returnrho*A*L

#定义约束条件:应力和挠度

defstress(x):

rho,A,L=x

#假设应力计算公式为:sigma=F/A

#其中F是作用力,这里简化为常数

F=10000

sigma_max=250

returnF/A-sigma_max

defdeflection(x):

rho,A,L=x

#假设挠度计算公式为:delta=q*L^4/(8*E*I)

#其中q是均布载荷,E是弹性模量,I是截面惯性矩

#这里简化为常数

q=1000

E=200e9

I=A**2/12

delta_max=0.01

returnq*L**4/(8*E*I)-delta_max

#设定约束条件

cons=({'type':'ineq','fun':stress},

{'type':'ineq','fun':deflection})

#设定设计变量的界限

bounds=[(1,8),(0.1,1),(10,100)]

#初始猜测值

x0=np.array([2,0.5,50])

#进行优化

res=minimize(weight,x0,method='SLSQP',bounds=bounds,constraints=cons)

#输出结果

print(res.x)在这个例子中,我们使用了Python的scipy.optimize库中的minimize函数来求解优化问题。设计变量包括材料密度ρ、截面面积A和梁的长度L。目标函数是总重量W,约束条件包括应力σ和挠度δ。通过设定约束条件和设计变量的界限,我们能够找到满足所有条件的最优设计变量值。通过上述数学模型和代码示例,我们可以看到,结构优化算法在桥梁设计中的应用能够帮助设计者在满足各种工程规范和约束条件的前提下,找到最优的设计方案,从而提高桥梁的性能,降低建造成本。4禁忌搜索在桥梁设计中的应用4.1算法的初始化与参数设置禁忌搜索(TabuSearch,TS)是一种局部搜索算法,通过引入“禁忌”机制来避免陷入局部最优解。在桥梁设计中,TS算法可以用于优化桥梁的结构参数,如梁的尺寸、材料选择、支撑位置等,以达到结构的最优化,如最小化成本、重量或最大化强度。4.1.1初始化初始化阶段,我们选择一个初始解,这可以是随机生成的,也可以是基于经验或初步设计的。例如,对于一座桥梁,初始解可能包括梁的宽度、厚度、材料类型等参数。4.1.2参数设置TS算法的关键参数包括:-禁忌列表长度:控制最近被访问过的解的存储数量,避免重复搜索。-迭代次数:算法运行的总次数。-邻域大小:在当前解周围搜索的解的数量。-目标函数:定义优化目标,如最小化桥梁的总成本。4.1.3代码示例假设我们使用Python实现TS算法,以下是一个简化的示例:importrandom

#定义目标函数,这里简化为一个示例函数

defobjective_function(solution):

#假设solution是一个包含桥梁设计参数的列表

#这里只是简单计算,实际应用中应使用更复杂的结构力学模型

returnsum(solution)

#初始化解

initial_solution=[random.randint(1,10)for_inrange(5)]

current_solution=initial_solution

best_solution=current_solution

#禁忌列表

tabu_list=[]

#参数设置

max_iterations=100

neighborhood_size=10

for_inrange(max_iterations):

#生成邻域解

neighbors=[]

for_inrange(neighborhood_size):

#生成一个邻域解

neighbor=current_solution[:]

index=random.randint(0,len(current_solution)-1)

neighbor[index]+=random.choice([-1,1])

neighbors.append(neighbor)

#选择最佳邻域解

best_neighbor=None

best_value=float('inf')

forneighborinneighbors:

ifneighbornotintabu_list:

value=objective_function(neighbor)

ifvalue<best_value:

best_value=value

best_neighbor=neighbor

#更新禁忌列表

ifbest_neighbor:

tabu_list.append(current_solution)

iflen(tabu_list)>10:#假设禁忌列表长度为10

tabu_list.pop(0)

current_solution=best_neighbor

ifobjective_function(current_solution)<objective_function(best_solution):

best_solution=current_solution

#输出最佳解

print("最佳解:",best_solution)4.2桥梁结构的优化流程在桥梁设计中应用TS算法,优化流程通常包括以下步骤:定义设计变量:确定桥梁设计中可变的参数,如梁的尺寸、材料类型等。建立目标函数:定义优化的目标,如最小化成本或重量,同时确保结构的强度和稳定性。设置约束条件:包括结构力学约束,如应力、应变、位移等,以及设计规范约束。执行禁忌搜索:使用TS算法在解空间中搜索,逐步改进解,直到达到预定的迭代次数或满足停止条件。验证优化结果:对优化后的设计进行详细的结构分析,确保其满足所有设计和安全标准。4.3案例研究:一座桥梁的优化设计假设我们正在设计一座简支梁桥,目标是最小化桥梁的总成本,同时确保其满足特定的强度和稳定性要求。设计变量包括梁的宽度、厚度和所用材料的类型。我们使用TS算法来优化这些参数。4.3.1设计变量梁宽度:w梁厚度:t材料类型:m(以数字表示不同材料)4.3.2目标函数假设目标函数为桥梁的总成本,由梁的尺寸和材料成本决定:defcost_function(w,t,m):

#假设材料成本和尺寸成正比

returnw*t*m4.3.3约束条件强度约束:梁的应力不超过材料的允许应力。稳定性约束:梁的位移不超过设计规范允许的最大位移。4.3.4禁忌搜索使用TS算法,我们从一个初始设计开始,逐步探索邻域解,寻找成本最低的设计方案。在每一步中,我们检查解是否满足约束条件,并更新禁忌列表以避免重复搜索。4.3.5优化结果经过TS算法的优化,我们得到了一个成本最低且满足所有设计和安全标准的桥梁设计方案。这个方案可能包括梁的最佳宽度、厚度和材料类型。4.3.6结论通过在桥梁设计中应用TS算法,我们能够有效地探索解空间,找到满足设计要求的最优化方案。这种方法不仅提高了设计效率,还确保了桥梁的经济性和安全性。请注意,上述代码和案例研究是高度简化的示例,实际应用中,目标函数和约束条件将基于详细的结构力学模型和设计规范。5禁忌搜索算法的高级主题5.1多目标优化与禁忌搜索5.1.1多目标优化的挑战在结构力学领域,尤其是桥梁设计中,优化问题往往涉及多个目标,如成本最小化、结构强度最大化、以及美观度等。多目标优化问题的解决需要找到一组解,这些解在所有目标上都是最优的,通常被称为帕累托最优解。禁忌搜索算法在处理多目标优化问题时,通过引入禁忌列表和多目标函数,能够有效地探索解空间,避免局部最优,找到更接近全局最优的帕累托前沿解。5.1.2算法的并行化与分布式计算5.1.2.1算法并行化的优势禁忌搜索算法的并行化和分布式计算能够显著提高算法的效率和性能。在桥梁设计等复杂问题中,计算量巨大,通过并行化可以将计算任务分解到多个处理器或计算机上,从而加速搜索过程,缩短优化时间。5.1.2.2分布式计算框架禁忌搜索算法的分布式计算通常基于MapReduce或Spark等框架。这些框架能够处理大规模数据集,通过将数据和计算任务分布到多个节点上,实现高效的数据处理和算法执行。5.1.3示例:多目标禁忌搜索算法在桥梁设计中的应用假设我们正在设计一座桥梁,目标是最小化成本和最大化结构强度。我们可以定义两个目标函数:成本函数和强度函数。禁忌搜索算法将在这两个目标上进行优化,寻找成本和强度之间的最佳平衡点。5.1.3.1定义目标函数#成本函数

defcost_function(bridge_design):

#假设成本与设计中使用的材料量成正比

returnsum(bridge_design)

#强度函数

defstrength_function(bridge_design):

#假设强度与设计中材料的分布有关

#这里简化为设计中材料的最大值

returnmax(bridge_design)5.1.3.2禁忌搜索算法实现importrandom

#禁忌列表长度

TABU_SIZE=10

#最大迭代次数

MAX_ITERATIONS=1000

#初始解

INITIAL_DESIGN=[10,20,30,40,50]

deftabu_search(multi_objective_function,initial_solution,tabu_size,max_iterations):

current_solution=initial_solution

best_solution=current_solution

tabu_list=[]

for_inrange(max_iterations):

#生成邻域解

neighborhood=generate_neighborhood(current_solution)

#评估邻域解

evaluated_neighborhood=[(solution,multi_objective_function(solution))forsolutioninneighborhood]

#选择最佳邻域解

next_solution=min(evaluated_neighborhood,key=lambdax:x[1])

#检查是否在禁忌列表中

ifnext_solution[0]notintabu_list:

current_solution=next_solution[0]

ifnext_solution[1]<multi_objective_function(best_solution):

best_solution=current_solution

else:

#如果在禁忌列表中,选择次优解

next_solution=min([xforxinevaluated_neighborhoodifx[0]notintabu_list],key=lambdax:x[1])

current_solution=next_solution[0]

#更新禁忌列表

tabu_list.append(current_solution)

iflen(tabu_list)>tabu_size:

tabu_list.pop(0)

returnbest_solution

#多目标函数

defmulti_objective_function(bridge_design):

cost=cost_function(bridge_design)

strength=strength_function(bridge_design)

#假设我们希望成本低且强度高,因此使用加权和

returncost-2*strength

#生成邻域解

defgenerate_neighborhood(current_solution):

neighborhood=[]

foriinrange(len(current_solution)):

#生成一个邻域解,通过改变设计中的一个参数

new_design=current_solution.copy()

new_design[i]+=random.randint(-5,5)

neighborhood.append(new_design)

returnneighborhood

#运行禁忌搜索算法

best_design=tabu_search(multi_objective_function,INITIAL_DESIGN,TABU_SIZE,MAX_ITERATIONS)

print("最优设计:",best_design)5.1.3.3解释在这个例子中,我们定义了两个目标函数:成本函数和强度函数。禁忌搜索算法通过在解空间中搜索,尝试找到一个设计,使得成本函数和强度函数的加权和最小。我们使用了一个简单的邻域生成函数,通过改变设计中的一个参数来生成邻域解。禁忌列表用于存储最近被访问过的解,以避免算法陷入局部最优。5.2算法的并行化与分布式计算5.2.1并行化禁忌搜索并行化禁忌搜索算法可以通过在多个处理器上并行执行搜索过程来加速优化。每个处理器可以独立地探索解空间的一部分,然后将结果汇总,以更新全局最优解和禁忌列表。5.2.2分布式计算禁忌搜索在分布式计算环境中,禁忌搜索算法可以利用多台计算机的计算能力。每台计算机可以处理一部分数据或执行一部分搜索任务,然后通过网络将结果发送回主节点,主节点负责汇总结果和更新全局状态。5.2.3示例:并行化禁忌搜索算法在桥梁设计中的应用假设我们有4个处理器,每个处理器将独立执行禁忌搜索算法的一部分,然后将结果汇总。5.2.3.1并行化禁忌搜索算法实现frommultiprocessingimportPool

defparallel_tabu_search(multi_objective_function,initial_solution,tabu_size,max_iterations):

#初始化禁忌列表和最优解

tabu_list=[]

best_solution=initial_solution

#定义并行任务

deftask(start,end):

current_solution=initial_solution

for_inrange(start,end):

neighborhood=generate_neighborhood(current_solution)

evaluated_neighborhood=[(solution,multi_objective_function(solution))forsolutioninneighborhood]

next_solution=min(evaluated_neighborhood,key=lambdax:x[1])

ifnext_solution[0]notintabu_list:

current_solution=next_solution[0]

ifnext_solution[1]<multi_objective_function(best_solution):

returncurrent_solution

tabu_list.append(current_solution)

iflen(tabu_list)>tabu_size:

tabu_list.pop(0)

returnNone

#使用多进程执行并行任务

withPool(processes=4)aspool:

results=pool.starmap(task,[(0,MAX_ITERATIONS//4),(MAX_ITERATIONS//4,MAX_ITERATIONS//2),

(MAX_ITERATIONS//2,3*MAX_ITERATIONS//4),(3*MAX_ITERATIONS//4,MAX_ITERATIONS)])

#更新全局最优解

forresultinresults:

ifresultisnotNoneandmulti_objective_function(result)<multi_objective_function(best_solution):

best_solution=result

returnbest_solution5.2.3.2解释在这个并行化禁忌搜索算法的实现中,我们使用了Python的multiprocessing.Pool来并行执行搜索任务。每个任务负责搜索解空间的一部分,然后将找到的最优解返回。主进程将所有子进程的结果汇总,更新全局最优解。这种方法能够显著提高算法的执行速度,尤其是在处理大规模优化问题时。通过上述高级主题的探讨,我们可以看到禁忌搜索算法在处理多目标优化问题和利用并行化与分布式计算资源方面的强大能力。这为解决桥梁设计等复杂结构力学问题提供了有效的工具和方法。6结论与未来方向6.1禁忌搜索算法在桥梁设计中的优势禁忌搜索算法(TabuSearch,TS)作为一种全局优化技术,其在桥梁设计中的应用展现出独特的优势。TS算法通过引入“禁忌”机制,避免了搜索过程中的循环,增强了算法的探索能力,有效防止了局部最优解的陷阱。在桥梁设计中,TS算法能够处理复杂的约束条件,如材料强度、稳定性、成本等,同时在多目标优化问题上表现优异,如同时优化桥梁的结构安全性和经济成本。6.1.1例子:桥梁结构优化假设我们正在设计一座桥梁,需要优化其结构以最小化成本,同时确保结构的安全性和稳定性。我们可以通过TS算法来解决这一问题。以下是一个简化的示例,展示如何使用TS算法进行桥梁结构优化:#导入必要的库

importrandom

importnumpyasnp

#定义目标函数:桥梁成本

defbridge_cost(structure):

#假设结构参数与成本之间的关系

returnnp.sum(structure**2)

#定义邻域函数:生成结构的邻近解

defgenerate_neighbor(structure):

#随机选择一个参数进行微调

neighbor=structure.copy()

index=random.randint(0,len(structure)-1)

neighbor[index]+=random.uniform(-0.1,0.1)

returnneighbor

#禁忌搜索算法

deftabu_search(initial_structure,max_iterations,tabu_tenure):

current_structure=initial_structure

best_structure=current_structure

best_c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论