开题报告定稿
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
*.log
|
||||
*.aux
|
||||
*.bbl
|
||||
*.blg
|
||||
*.dvi
|
||||
*.pdf
|
||||
*.bak
|
||||
tmp*
|
||||
@@ -0,0 +1,56 @@
|
||||
# Makefile for hithesis report
|
||||
# Compiling method: latexmk/xelatex
|
||||
METHOD = xelatex
|
||||
# Set opts for latexmk if you use it
|
||||
LATEXMKOPTS = -xelatex
|
||||
# Basename of thesis
|
||||
REPORTMAIN = report
|
||||
|
||||
PACKAGE=hithesis
|
||||
|
||||
REPORTCONTENTS=$(REPORTMAIN).tex front/*.tex body/*.tex $(FIGURES)
|
||||
# NOTE: update this to reflect your local file types.
|
||||
FIGURES=$(wildcard figures/*.eps figures/*.pdf)
|
||||
BIBFILE=*.bib
|
||||
CLSFILES=$(PACKAGE)art.cls $(PACKAGE)art.cfg *.bst
|
||||
|
||||
# make deletion work on Windows
|
||||
ifdef SystemRoot
|
||||
RM = del /Q
|
||||
OPEN = start
|
||||
else
|
||||
RM = rm -f
|
||||
OPEN = open
|
||||
endif
|
||||
|
||||
.PHONY: clean report viewreport
|
||||
|
||||
viewthesis: report
|
||||
$(OPEN) $(REPORTMAIN).pdf
|
||||
|
||||
report: $(REPORTMAIN).pdf
|
||||
|
||||
ifeq ($(METHOD),latexmk)
|
||||
|
||||
$(REPORTMAIN).pdf: $(CLSFILES)
|
||||
$(METHOD) $(LATEXMKOPTS) $(REPORTMAIN)
|
||||
|
||||
else ifeq ($(METHOD),xelatex)
|
||||
|
||||
$(REPORTMAIN).pdf: $(CLSFILES) $(REPORTCONTENTS) $(REPORTMAIN).bbl
|
||||
$(METHOD) $(REPORTMAIN)
|
||||
$(METHOD) $(REPORTMAIN)
|
||||
|
||||
$(REPORTMAIN).bbl: $(BIBFILE)
|
||||
$(METHOD) $(REPORTMAIN)
|
||||
-bibtex $(REPORTMAIN)
|
||||
$(RM) $(REPORTMAIN).pdf
|
||||
|
||||
else
|
||||
$(error Unknown METHOD: $(METHOD))
|
||||
|
||||
endif
|
||||
|
||||
clean:
|
||||
latexmk -c $(REPORTMAIN)
|
||||
-@$(RM) *~ *.idx *.ind *.ilg *.thm *.toe *.bbl
|
||||
+684
@@ -0,0 +1,684 @@
|
||||
% !Mode:: "TeX:UTF-8"
|
||||
\section{课题来源及研究的目的和意义}
|
||||
\subsection{课题来源或研究背景}
|
||||
|
||||
% 国家战略布局
|
||||
十四五规划进一步指出,要深入实施增强制造业核心竞争力和技术改造专项,鼓励企业应用先进适用技术、加强设备更新和新产品规模化应用,培育先进制造业集群,推动集成电路、高端数控机床等产业创新发展,推动制造业产品“增品种、提品质、创品牌”\cite{14th_five_year_plan}。电子制造是研究制造和生产电子设备、各类电子元器件的产业,是现代制造业的重要组成部分。中国制造2025明确指出,要加快发展智能制造装备和产品,组织研发具有深度感知、智慧决策、自动执行的智能制造装备以及智能化生产线,是提升国家制造业创新能力、实现制造强国的战略任务。
|
||||
|
||||
|
||||
|
||||
|
||||
% 行业环境介绍
|
||||
上世纪七十年代后期,日本的大型电子企业集团率先开始自动贴片机的工作,并逐渐将贴片机由内部专用设备改为标准化的商用设备,开始批量应用到电子设备加工生产中。经过四十余年的迅速发展,贴片机逐步向着精密、高速、模块化的方向发展,以松下、三洋、韩华等为代表企业研发的贴片机占据了国内外主要市场。表面贴装工艺的技术水平是反映电子制造业能力的重要指标,生产线的生产效率已然成为整个产业链发展的核心竞争力。我国作为制造业大国,电子制造产业起步相对较晚而发展迅猛,目前已经成为世界上贴片机应用最广的国家,对贴片机的需求也亟待从依赖国外进口走向国内自主研发可控。
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\subfigure[主视图]
|
||||
{
|
||||
\begin{minipage}{7cm}
|
||||
\centering
|
||||
\includegraphics[scale=0.25]{smt_front_view.JPG}
|
||||
\end{minipage}
|
||||
}
|
||||
\subfigure[俯视图]
|
||||
{
|
||||
\begin{minipage}{7cm}
|
||||
\centering
|
||||
\includegraphics[scale=0.3]{smt_top_view.JPG}
|
||||
\end{minipage}
|
||||
}
|
||||
\caption{贴片机机械装配图}
|
||||
\label{surface_mount_machine}
|
||||
\end{figure}
|
||||
|
||||
% 表面贴装过程研究的内容
|
||||
作为用于实现高速、高精度全自动元件贴装的自动化设备,贴片机是电子制造中关键性设备,同时也是集成电路板组装生产线的最为重要的设备。表面贴装设备的研发是一门涉及多个学科的系统性工程,其包含了视觉识别定位、先进运动控制、表面贴装过程优化等多项关键性技术。表面贴装过程优化解决的则是PCB组装线上存在一系列生产过程优化问题,包括贴装过程优化、整线分配优化和车间调度优化问题。贴片机示意图如图\ref{surface_mount_machine}所示,其主要由供料器基座、可移动悬臂(若干吸杆)、ANC(Auto Nozzle Changer,自动吸嘴更换装置)、传送带、支撑平台等组成,其主要加工流程如图\ref{surface_mount_process}所示。。贴片机完成电路板的贴装过程,首先需要根据BOM(Bill of Material,物料清单)表确定贴装元件的类型并将其安装在供料器中,供料器安插于供料器基座的不同位置上,电路板通过传送带传入预先指定的贴装位置,可移动悬臂悬臂在必要时前往ANC为吸杆更换吸嘴后,前往供料器基座指定位置拾取元件,并将其贴装到电路板上的指定位置。对于不同类型的电路板,其贴装的元件类型和贴装点位置是不同的,不同的供料器安装位置、元器件的贴装顺序都直接影响贴片机的生产效率。表面贴装过程优化技术要解决的是PCB组装过程中存在的一系列生产过程优化问题。
|
||||
|
||||
\subsection{研究的目的及意义}
|
||||
% 不少于1000字
|
||||
|
||||
贴片机的主要任务是完成电路板表面元件的组装工作,本课题研究的主要内容是最大化组装效率的优化算法。电子制造行业发展至今,对表面贴装技术提出了更高要求,不仅要求表面贴装优化算法具有较好的通用性,能在多种约束条件下求得高质量的解,同时对于贴片机运行中的动态特性,乃至生产线、车产车间的调度优化也提出了更高要求。本课题紧密围绕SMT(Surface Mount Technology,表面贴装技术)制造线的实际需求,总结一系列相关问题,并有针对性的开展相关算法的研究工作。
|
||||
|
||||
% 数学建模
|
||||
贴片机表面贴装过程优化结果直接决定了贴片机的生产效率,然而在实际应用中,贴装过程的数学模型是一个高维度、多变量、高度耦合的整数规划问题,已被证明为NP难(NP-hard)问题\cite{huang_solution_1994},是具有多项式复杂程度的非确定性问题。复杂的问题模型导致现有的优化方法难以得到最优解。对于不同类型的贴片机,其贴装过程又存在不同的外部和内部因素的制约。贴装过程优化是带约束的组合优化问题,在模型分析建立、算法设计过程中,不能一昧追求性能指标最优,只有充分考虑各项约束条件,才能保证实际优化结果的可部署性。本课题对表面贴装过程各环节的约束条件进行了详细分析,基于整数规划理论,构建了相对完整贴片机的贴装过程数学模型。
|
||||
|
||||
% 单机优化
|
||||
贴片机贴装过程优化问题通常被分解为供料器位置分配问题和元件拾贴顺序问题,前者被视为二次分配问题,后者被视为车辆路径规划问题,都是典型的NP难问题。供料器位置分配和元件拾贴顺序存在着较强的耦合关系,进一步制约着最优解的获得。本课题主要研究对象是直排式贴装头贴片机,其吸杆呈直线排列能实现同时拾取,大幅提升加工效率,但也进一步加大了问题的求解难度。元件拾贴顺序是在CVPR(Capacitated Vehicle Routing Problem,有容量约束的车辆路径调度)问题的基础上进一步增加了限制条件——吸嘴类型和拾取元件类型的匹配性、拾取元件类型和贴装点元件类型一致性等。在实践中,现有的精确解算法在处理此类问题是在实践中是不可行,对于规模较大的数据存在着“维度爆炸”的问题。启发式算法通过合理解构问题,有方向性地对解空间进行搜索,能有效地解决大规模复杂组合优化问题,在工程实践中有着广泛的应用。
|
||||
|
||||
% 动态决策
|
||||
自动化水平是衡量贴片机设备性能的重要指标。在加工过程中,不确定环境下的表面贴装过程也是优化要解决的问题之一。对于贴装过程中出现的贴片头拾取失败、元件检测错误、供料器元件用尽等不确定情形,通常需要人为干预修正错误,极大降低了加工效率。已有的研究多数停留在对给定数据的优化,部分研究提出的迭代式优化算法一定程度上解决了贴装过程中加工数据变更的问题,但其在算法实时性上表现的却不尽如人意。本课题研究的动态决策研究的是在完成部分PCB加工任务的基础上,快速重新规划贴装过程的算法,对于提升设备鲁棒性具有重要意义。
|
||||
|
||||
% 整线优化
|
||||
|
||||
在实际的生产电子制造流水线上,为了实现生产效率的最大化,通常会将若干台贴片机串联在一起,完成对印制电路板的加工。整线优化问题研究的是通过平衡不同贴片机之间的工作负载,最小化协同工作时间的问题。现有的研究几乎集中在时间预测模型和负载均衡算法地研究,对于其中涉及的有限工具负载研究相对较少。在实际产线装配过程中,有限的吸嘴、供料器等生产装配工具在进行负载均衡时必须加以考虑,否则无法进行实际应用。车间调度从顶层设计角度,依托工业互联网组成的生产系统对SMT车间整体进行优化,以一条产线为单位对生产数据进行优化后下发到各个贴片机进行生产,这将有助于提升车间生产效率和自动化水平。
|
||||
|
||||
综上所述,近年来电子制造业发展迅速,对电子产品的需求量也日益增长,电子产业对SMT制造业增产提效的需求也更加迫切。为了进一步提升SMT生产线的加工效率、自动化水平,本课题提炼出相关问题,在对研究对象和问题建立完备数学模型的基础上,围绕单机优化、整线优化、车间调度等若干表面贴装生产过程中的关键问题开展研究工作。
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics{figures/mounting_process.eps}
|
||||
\caption{表面贴装流程图}
|
||||
\label{surface_mount_process}
|
||||
\end{figure}
|
||||
\section{国内外在该方向的研究现状及分析}
|
||||
\subsection{国外研究现状}
|
||||
% 直排式
|
||||
对于直排式贴片机,Lee等\cite{lee_dynamic_1998, lee_hierarchical_1999}是最早提出分层启发式表面贴装过程优化的学者,并对其中各个环节进行了详细的分析,其首先以贴装头工作负载平衡为准则确定元件贴装顺序进而形成供料器组,进而采用启发式动态规划的方法对供料器位置进行分配,最后结合最近邻算法求解路径规划问题,给出了一系列完整的解决方案。
|
||||
J. Ashayeri等\cite{ashayeri_aggregated_2011}提出基于“元件组”的两阶段法优化策略,采用数学规划与启发式算法相结合的优化策略,降低了问题求解的复杂度,同时也保证了元件分配解的最优性。
|
||||
Hardas等\cite{hardas_development_2008}提出一种应用遗传算法解决元件贴装顺序问题的定制化算法,通过设计实验分析不同的基因表示形式和算子对问题结果的影响,以最终贴装路径和整体运算效率为比较指标,最终采用基于路径的表示形式和有序交叉算子取得了较好地效果。
|
||||
Park等\cite{park_dynamic_2007}提出一套基于贴装路径用时的整数规划模型,用启发式算法在合理的时间内解决大规模NP-完全问题。采用启发式算法设计供料器组,应用动态规划递归确定供料器组安装位置,使用2-opt解决路径规划问题。
|
||||
Dong-Seok Sun等\cite{sun_component_2005, sun_branch-and-price_2007}首先研究了拆分问题模型下的供料器分配问题和拾贴顺序问题,通过遗传算法确定不同的供料器排列布局,并保证不对称、不同宽度解的可行性,再基于贪心式的启发式扫描算法确定最优的贴装头元件分配结果;对于贴装路径规划问题,Dong-Seok Sun提出一种基于分支定价的路径规划问题,采用对偶方法将问题进行转化,应用动态规划解决列生成中的子问题,并提出高效的分支策略,处理小规模问题时能高效的获得精确解。
|
||||
|
||||
S.A.Torabi等\cite{torabi_new_2013}将贴片机优化问题视为多目标优化问题,提出最小化周期和最大化吸嘴适配度函数值两个目标,建立最大最小化整数规划模型,并根据问题规模的大小分别设计增广$\epsilon$方法解决小规模问题和多目标粒子群算法解决大规模方法,应用田口正交实验调整模型参数。
|
||||
Tsuchiya等\cite{tsuchiya_scheduling_2007}主要解决贴片机同时拾取优化问题,提出一种启发式多起点的局部搜索算法,对随机生成的供料器分配结果增加解的可行性、头的效率和同时拾取可行性等约束条件,并采用拾取模式匹配确定了取料顺序。
|
||||
|
||||
% 转塔式
|
||||
对于转塔式贴片机,Altinkemer等\cite{altinkemer_optimization_2000}将问题归结问供料器问题分配和拾贴顺序决策问题,使用拉格朗日松弛分解整个数学模型到两个子问题,进而设计算法寻求最优解, 通过结合已有的车辆路径规划成果,提出$\epsilon$近似解优化问题,从理论上证明了,在车辆路径规划解的最优性误差已知的情形下,通过迭代不同供料器的位置排布基础上求解该问题,可以进一步求得表面贴装问题的准最优解。
|
||||
Ashayeri等\cite{ashayeri_planning_2007}对整个表面贴装过程进行求解。其后提出两种求解模型和策略,分别用以最小化供料器更换次数和最小化贴装过程时间。
|
||||
Alkaya等\cite{alkaya_combining_2015}研究了供料器基座和电路板支撑平台可移动转塔式贴片机的表面贴装模型,对其各运动部分进行准确分析,建立了非线性整数规划模型。将拾贴路径规划视为顺序相关的旅行商问题,将供料器位置分配视为二次分配问题,提出两种求解算法,一种是基于模拟退火等元启发式算法对整个问题进行求解,另一种则是使用迭代算法对两个子问题进行求解。
|
||||
Castellani等\cite{castellani_printed_2019}将定制版本的蜂群算法应用到贴片机优化中解决供料器位置分配问题和贴装顺序问题,提出五种新的组合优化运算算子,使算法不依赖于初始解且有较好的收敛性,并在TSP问题中验证算法改进的有效性,进而验证其在贴片机规划中的实际效果。
|
||||
Grunow等\cite{grunow_operations_2004}采用三阶段启发式算法,第一阶段通过改进最小生成树并结合贪心的思想分配供料器至供料器基座中,第二阶段将贴装顺序问题视为车辆路径规划问题,应用C-W节约里程法进行求解,第三阶段采用局部搜索规则改进供料器分配和拾贴顺序结果。
|
||||
Han等\cite{han_mechanism_2017}对转塔式贴片机优化提出了完整的解决机制,包括基于最近邻元件分配和全局更新分配相结合的供料器槽位分配算法,通过定义不同元件在供料器基座上布局的距离矩阵进行局部搜索,表面贴装过程时间划分和吸嘴分配解决方案,NCA-GUA是一种两步启发式算法,综合了不同元件贴装类型的位置信息,同时考虑了板子和供料器基座的布局情形。
|
||||
Ho等\cite{ho_optimization_2008, ho_integrated_2009, ho_integrated_2010}分别建立了已知供料器位置分配下的贴装顺序模型和已知贴装顺序下的供料器位置分配模型,将两个模型整合并转换为整数模型,分别采用商业软件包和混合遗传算法求解小规模和大规模问题。
|
||||
Kulak等\cite{kulak_pcb_2007}为应用遗传算法转塔式贴片机表面贴装优化过程,为解决遗传算法在处理大规模数据收敛慢的问题,提出LCO(Large Clusters Optimization,大规模聚类优化)方法,限制遗传算法问题规模以提升求解效率。
|
||||
Pyottiala等\cite{pyottiala_minimizing_2013}基于$r$近邻解决供料器位置分配问题,同随机分配、最小生成树、基于频次的平衡算法进行比较,提出四种基于规则的算法(Random first free-heuristic,Cyclic first free-heuristic,Random next free-heuristic, Cyclic next free-heuristic)对拾取贴装路径进行优化。
|
||||
|
||||
|
||||
% === 单一性能指标 ===
|
||||
由于表面贴装过程自身的复杂性,也有学者围绕表面贴装过程某一个方面进行优化,如最小化吸嘴更换、最小化贴装准备时间等展开研究工作。
|
||||
Knuutila等\cite{knuutila_minimizing_2007}研究特定类型吸嘴最小化工作周期的问题,提出贪心、随机搜索、遗传算法和粒子群算法四种算法。
|
||||
Raduly-Baka等\cite{raduly-baka_tool-feeder_2017}主要研究供料器模组的装配问题,提出两种启发式算法解决工件分组的问题,减少加工过程中更换供料器的准备时间。
|
||||
Raduly-Baka等\cite{raduly-baka_selecting_2008}研究贴片机吸嘴类型的选取问题,讨论了可用头限制吸嘴可用数情形下的吸嘴分配问题,而后采用贪心算法论证了增加吸嘴预算限制下的最优吸嘴分配解的获得。Timo Knuutila等\cite{knuutila_organizing_2013}在此基础上,进一步研究了ANC参数已知的情形下最小化吸嘴更换时间的启发式解决方法。
|
||||
Neammanee等\cite{neammanee_memetic_2009}研究了供料器基座占位有限的情况展开了研究,对于元件类型组成多样的复杂电路板,单一机器生产中需要更换供料器基座完成贴装作业,这就依赖于贴装顺序准备时间的规划算法,其提出一种结合MST(Multiple spanning tree,多生成树)、局部搜索、KTNS(Keep Tool Needed Soonest,尽快使用所需工具)的文化基因算法的启发式算法,降低总的加权迟滞时间,提升生产效能。
|
||||
Ayob等\cite{ayob_real-time_2003}提出迭代式的优化方法,用于快速确定PCB加工任务的可行解,并在生产过程中持续对结果进行优化,不断改进解的质量。
|
||||
|
||||
% 整线优化
|
||||
表面贴装生产线通常由若干台设备组成,贴片机作为其中最关键的设备,其贴装效率直接决定整条产线的产能,也有不少学者展开相应研究工作
|
||||
Kulak等\cite{kulak_ga-based_2008}将产线平衡分为元件分配、供料器位置分配、贴装顺序优化三个子问题,提出基于遗传算法的产线平衡问题,解决高速贴片机和高精度贴片机协作贴装单一类型电路板的优化问题,提出两阶段法,在第一阶段给不同贴片机分配供料器以平衡设备间的工作负载,并将候选解传入第二阶段,进一步优化供料器安装位置和贴装顺序。
|
||||
Rong等\cite{rong_modeling_2011}的研究单头模组贴片机,忽略了PCB本身的拓扑结构和供料器安装位置,以近似得到贴装时间关于贴装点数和贴装周期数的线性模型。
|
||||
KODEK等\cite{kodek_optimal_2004}考虑几个不同机器整线优化问题,最大最小近似的整数规划问题,最大的困难在于其是NP难问题。为了提升问题求解的效率
|
||||
Emet等\cite{emet_workload_2010}在的基础上进一步考虑了供料器容量限制、供料器模组和元件贴装顺序的要求,使用专业的CPLEX求解器进行优化;模型中元件在各机器上的贴装时间采用固定时间参数,作者提出了两种提升时间预估准确性的方法,第一种是通过程序模拟贴装过程获得贴装时间,代价是时间花费较大,第二种是使用更复杂的回归/预测模型,存在无偏批量数据难以获取的问题。
|
||||
Tóth等\cite{toth_reconfiguring_2010,rong_modeling_2011, toth_machine_2018}等主要研究模组贴片机的产线优化问题,将问题归结为模组头分配、元件到头分配、吸嘴到元件分配三个子问题,研究蛮力搜索、随机搜索、贪心搜索、局部搜索、启发式算法对问题的实际效果。其进一步给出了多模型问题(MCLB-M)的图模型和数学公式解决整线贴装多种PCB电路板的负载均衡问题,提出一种拆分组合的启发式算法,将多个模型问题拆分为独立的生产问题,并在其组合形成模块的公共子配置,全局问题通过使用固定子配置减小其大小来解决。
|
||||
Tóth等进一步研究了多种不同批次类型电路板的整线优化问题,提出一种两阶段优化方法用于机器的重配置和不同机器之间的负载均衡,作为一种迭代式的解法,其将工作负载的整数规划模型与进化算法相结合,实验表明,该方法在处理单一类型电路板时能获得最优或近似最优解,处理多类型电路板时,整体解接近最优。
|
||||
Hu等\cite{hu_fuzzy_2017}基于分配问题和传输问题模型解决PCB产线的多目标规划问题,建立非线性隶属函数并采用模糊目标规划技术解决问题,模糊目标模型能在不确定性环境中给出折中的解决方案,并调整目标函数上下界目标值。
|
||||
|
||||
% SMT车间调度
|
||||
车间调度从顶层设计角度,依托工业互联网组成的生产系统对SMT车间整体进行优化。
|
||||
Bhatnagar等\cite{bhatnagar_order_1999}研究订单发布和产品组合协调在具有批处理器的生产线中的作用,其设计了一种用于同步产线生产计划的方法,其开发的数学规划模型可以用于确定批处理器配置、向车间下发的订单以及日常负载决策问题,以降低生产不同产品的峰值时间。
|
||||
Dessouky等\cite{dessouky_design_1995}综合调度方法提出一种电路板产线特定方法,该调度方法目标在于提升系统的吞吐量和降低库存,其设计的算法比一般生产线更容易控制和调度,对于SMT生产线调度问题通常被简化为排序问题,减小单条生产线的准备时间,设计两阶段算法将问题转换为生产线配置和产品调度问题。
|
||||
Kelbel等\cite{jan_scheduling_2012}关注生产系统领域的组合优化问题,研究了SMT产线元件配置问题,即将贴装元件分配到产线上不同机器的优化问题,其主旨在于对产线中操作员已确定的元件安装配置进行再优化。其提出的算法基于带约束规划问题和大规模邻域搜索,并就一种产品类型的生产过程进行了验证实验。
|
||||
Sabouni等\cite{yazdani_sabouni_carryover_2013}解决具有双目标的两机生产线分组规划问题,通过对不同类型电路板进行排序最小化目标函数,通过分析影响生产小加工时间的因素,整合了内部(PCB传输顺序)和外部(下一种电路板传入)设置时间,对PCB调度问题进行了研究。为解决此问题,作者先设计问题的数学模型,并分别提出基于启发式、禁忌搜索和遗传算法的调度方法,并测试了不同算法在几个问题上的效率和有效性,还设计了统计实验设计以评估不同因素对算法性能的影响。
|
||||
Mumtaz等\cite{mumtaz_multi-level_2019}结合混合蜘蛛猴算法解决多级计划和调度问题,用以解决包括PCB分配至产线、元件分配至贴片机和元件贴装顺序问题的三级决策问题,建立了混合整数规划模型,提出一种多级并行化优化方法,通过设计算子保证解的快速收敛以及多步决策过程中“试探”和“利用”之间的平衡。
|
||||
Jung等\cite{jung_two-stage_2017}解决加工阶段和组装阶段的两阶段组装车间调度问题,提出混合整数规划模型,为了进一步降低问题求解的规模,作者采用三个遗传算法分别表示完整解、局部解和局部搜索。
|
||||
Alzameli等\cite{alzameli_researches_2016}将PCB生产线中涉及的优化问题进行了整理,围绕调度方法、元件贴装优化、印刷电路板设计、PCB缺陷检测、模拟生产过程、机器设置和回流焊优化七个不同的研究方向进行讨论,旨在持续优化印刷电路板装配线、改善产品质量、提升生产力。
|
||||
|
||||
\subsection{国内研究现状}
|
||||
|
||||
% 直排式贴片机优化
|
||||
早期的贴片机使用单个贴装头完成PCB贴装工作,Ho等\cite{ho_hybrid_2004}以最小化贴装头移动路径为指标,采用结合最近邻、2-opt、迭代交换等启发式搜索策略的混合遗传算法将元件贴装顺序问题和供料器位置分配问题统一进行编码优化,采用基于动态规划的分阶段求解算法进行优化。
|
||||
对于多头贴片机,陈铁梅等\cite{chen_component_2011}为了兼顾求解效率和解的质量,将贴装优化问题分解为供料器分配问题和拾贴顺序问题两个典型子问题,根据问题分别采用蛙跳算法和禁忌搜索进行迭代求解,采用分而治之的策略兼顾子问题的独立性和相互之间的关系。
|
||||
高晋升等\cite{gao_iterated_2018}考虑在优化过程中算法的资源消耗,提出一种混合迭代局部搜索算法,引入自定义距离权重矩阵贪心选取贴装点,基于凸包的调整策略,进而求解整数规划模型确定供料器的安装位置。
|
||||
高会军等将\cite{gao_hierarchical_2021}表面贴装过程视为分层多目标优化问题,分析了贴装过程周期数、同时拾取数、吸嘴更换数等若干优化子目标之间的耦合关系,以及工作完整性、工具匹配性、有限资源约束等限制条件,根据不同目标的重要程度将问题拆分为头任务分配问题和拾贴顺序决策问题,结合专家经验通过设计专用的启发式算法解决贴片机优化问题。
|
||||
郭淑娟等\cite{guo_nozzle_2011}研究了吸嘴和元件类型存在一对多关系模型的问题,将吸嘴分配问题拆分为头分配和元件分组问题,采用两阶段法进行求解,在拾贴周期范围有界的前提下,采用穷举法确定一系列吸嘴分配结果,在此基础上应用遗传算法对元件进行分组分配,衡量不同候选解之间的拾贴周期数和同时拾取次数,实验结果表面,一对多的吸嘴-元件匹配关系比一对一有更少的周期数。
|
||||
郭淑娟等\cite{guo_pcb_2011}提出一种解决元件-吸嘴类型一对多的问题模型,采用自底而上的层次聚类分析方法,按照元件吸嘴类型选择、贴装头吸嘴分配、元件组生成、拾取组拆分合并的步骤给出了一套完整的解决方案。在后续研究中,郭淑娟等\cite{geng_mcvrp-based_2019}将表面贴装优化问题转换为多车舱车辆路劲规划问题(MCVRP,Multi-Compartment Vehicle Routing Problem),建立了完整的整数规划模型,进一步改进了拾取组的组合方法的求解效率,提出一种基于遗传算法的改进的拾取组重组策略,最后采用贪心法解决贴装路径规划问题。
|
||||
多种群离散萤火虫算法(MDFA,Multi-swarm and Discrete Firefly Algorithm)在兼顾探索和利用特性的同时,还具备自适应和离散移动步长等适用于大规模离散空间搜索的新特性,徐贤彬等\cite{hsu_printed_2021}提出一种基于对元件贴装顺序问题和供料器位置分配问题同时进行优化。
|
||||
黄银花等\cite{huang_applied_2020}研究了分层多目标优化模型,具体优化目标包括:最小化吸嘴更换次数、最小化拾贴周期数、最小化吸嘴元件适配度、最优贴装顺序和最小移动距离,将问题拆分为四个子问题采用两阶段进行优化,首先采0-1用整数规划模型解决吸嘴分配问题,进而基于此结合蛙跳算法对元件贴装顺序、供料器位置分配、拾取顺序进行优化。
|
||||
姜建国等\cite{jiang_optimization_2010, jiang_program_2010, jiang_ant_2010}将表面贴装优化转化为求解TSP最小路径问题,建立对应地数学模型,应用最大最小蚁群算法分析路径信息地上下界,并在路径选择中添加对应的限制因素。
|
||||
李政锴等\cite{li_cell_2022, li_heuristic_2022}基于元胞的遗传算法对元件分配问题进行求解,设计了一种元胞染色体启发式编码算法,最优地确定下个元件元胞将被分配的吸杆编号,并将贴装路径规划问题等效为容量受限的车辆路径规划问题,通过对路径中各索引序列对的探索,结合多启动机制和具有归一化的能量矩阵,在Hopfield神经网络中对贴装路径进行了进一步提升。
|
||||
|
||||
% ==== 台湾学者重点关注元件尺寸、高度、同时拾取等约束条件 ====
|
||||
表面贴装过程优化同时需要考虑贴装元件自身的参数。林承建等\cite{lin_modified_2017}将问题拆解为自动吸嘴更换分配问题、吸嘴分配问题、元件拾贴顺序问题,研究应用改进的人工蜂群搜索算法(MABCA,Modified Artificial Bee Colony Algorithm)提升表面贴装任务效率的方法,将问题拆分为三阶段进行求解,在第一阶段用比例分配法优化ANC顺序,第二阶段应用MABCA法解决吸嘴分配,第三阶段将MABCA和2-opt方法相结合得到时间最短的贴装时间,其在算法设计过程中考虑了拾贴顺序、元件高度形状以及同时拾取等条件。在此基础上,林承建等\cite{lin_efficient_2019, lin_component_2021}将元件高度尺寸、拾贴约束、同步拾取约束等条件纳入算法设计考虑中,应用群搜索算法和和混合搜索算法在保证解的可行性基础上,进一步提升解的质量。
|
||||
林学庸等\cite{lin_optimization_2016}提出一个混合遗传算法解决吸嘴分配问题和元件拾贴顺序问题,基于给定的ANC顺序的基础上,考虑了硬件约束(高度、拾贴约束、同步拾取)等,采用最近邻、2-opt、遗传算法等方法,研究了给定ANC顺序下最优元件拾贴顺序的优化方案。
|
||||
罗家祥等\cite{luo_modelling_2014,luo_milp_2017}将问题建模和问题求解均分为两阶段进行求解,建立了完整的混合整数线性规划(MILP,Mixed Integer Linear Programming)模型,采用构造式启发方法确定初始解,后续在此基础上将禁忌搜索和进化算法相结合搜索问题的解,选用正交实验确定相关超参数的值。他\cite{luo_milp_2014}进一步研究直排式LED贴片机路径贴装过程优化问题,将其归结为路径规划问题,分析不同LED布局得贴装路径策略,提出分类策略与路径重连得优化算法。
|
||||
王郑亚等\cite{wang_application_2019}提出一种高效的基于自适应蜘蛛猴算法的贴装过程优化算法,建立了供料器分配问题和元件贴装顺序问题相结合的数学模型,研究了解决表面贴装优化过程的编码方式,通过全局领导者解决供料器位置分配问题和局部领导者解决贴装顺序问题,并和多种智能优化方法展开对比试验。
|
||||
朱光宇等\cite{zhu_multi-objective_2018, zhu_improved_2014}研究改进蛙跳算法解决元件贴装顺序问题方法,并基于离散Fiechet距离曲线匹配的将其应用到多目标进化算法,对贴装距离、拾取距离和吸嘴更换次数,分析了该方法的整体框架在多目标优化问题中的具体实现方法,通过比较收敛性指标、多样性指标、两集合间覆盖等指标并同NSGA-II、gGA、FGA等多目标优化方法进行了比较,验证其所提方法的帕累托最优性。
|
||||
|
||||
% 转塔式、双悬臂
|
||||
转塔式贴片机采用旋转式的贴装头完成贴装作业,其模型相较于直排式贴片机更为简单,有部分文献基于此开展了研究工作。
|
||||
杜轩等\cite{du_smt_2014}将表面贴装任务拆分为元件贴装顺序和供料器分配问题,将细胞遗传算法应用到表面贴装任务求解中,设计了一种二维分段的十进制编码结构,邻域结构采用典型的von Roy类型,结合改进的有序交叉和自适应变异完成对优化解的局部搜索。
|
||||
徐贤彬等\cite{hsu_solving_2017, hsu_optimization_2020}建立元件贴装顺序问题和供料器位置分配问题的混合整数规划模型,分析了问题本身的NP难特性,研究了两种基于粒子群的优化方法,并和最优解进行了比较证明方法的优越性;其进一步提出了一种基于蛙跳的优化方法,该方法具有自适应跳跃、推进跳跃、预防直接跳跃和自适应变体等新功能,使其在搜索过程中更具智能,能使解快速接近和搜索精英解,有效避免陷入局部最优的问题,通过减少种群数量实现从探索到开发的过渡策略。
|
||||
李德彪等\cite{li_pcb_2017, li_clustering-based_2019}首先围绕转塔式贴片机吸嘴分配、供料器分配和元件拾贴顺序分配三个相关的四问题建立了整数规划模型,并提出一种自适应最近邻禁忌搜索算法,在不同的阶段采用特定的搜索策略,在吸嘴分配时将同类型吸嘴分配在相邻吸杆、供料器分配安装优先最优区域后向两侧延申的方法进行分配,最后通过有限禁忌搜索,按照以确定的槽位区域,搜索供料器分配的相邻解,进行迭代改进优化;为了进一步提升搜索效率,其提出一种分层启发式的切比雪夫均连搜索法,迭代获得最优吸嘴分配和最优供料器、拾贴顺序解,将聚类技术应用到吸嘴和元件分组问题上,进行了广泛的对比试验。
|
||||
|
||||
双悬臂是单动臂贴片机的一种拓展类型,其通过PCB电路板前后方的两个悬臂协同完成贴装任务,对动臂之间工作负载的平衡和协同机制提出了更高的要求。
|
||||
何田等\cite{he_multi-phase_2017}提出一种m阶段法解决双悬臂贴片机工作负载平衡和周期规划问题,通过元件和吸嘴分配实现双臂工作负载的均衡,能有效降低动臂移动距离、节省供料器。为了充分考虑双悬臂优化过程中子问题的耦合性,何田等\cite{he_adaptive_2018}进一步提出一种基于聚类的自适应遗传算法解决双悬臂优化问题,将非线性整数规划模型和启发式搜索算法相结合减少总周期数,而后应用自适应聚类方法完成元件分组,完成供料器分配过程。
|
||||
李德彪等\cite{li_balanced_2017}将双悬臂优化问题拆解为吸嘴分配、供料器分配、拾贴排序、元件分配和悬臂规划五个子问题,应用平衡自适应禁忌搜索算法平衡两个悬臂之间的工作量,降低悬臂之间异步工作的等待时间。
|
||||
|
||||
% 整线优化
|
||||
在集成化表面贴装生产线中,相关研究围绕不同类型贴片机和应用场景提出解决方案。
|
||||
何田等\cite{he_heuristic_2017}对于相同的高速转塔式贴片机,将产线负载平衡问题和单机优化问题综合建立非线性整数规划模型,使用分层确定性启发式算法高效解决NP难问题。作者指出,更高层次决策问题的结果基于低层次问题的解,因此其采用最小化周期数和供料器数代替最小化工作时间以简化问题。四个子问题:吸嘴分配问题、元件分配问题、供料器分配和拾贴顺序问题。首次直接解决低层次的问题而不是使用预测模型。
|
||||
张卫波等\cite{zhang_multiobjective_2021}提出一种直觉模糊集理论的PCB表面贴装生产算法。
|
||||
吴永忠等\cite{wu_solution_2010}提出元启发式算法(探索解空间)与回归模型(不求解复杂机器优化问题的前提下预测贴装时间)相结合的产线优化算法,其中回归模型可以被扩展到任意配置的产线。
|
||||
郭淑娟等\cite{guo_integrated_2012}针对转塔式贴片机,考虑了吸嘴更换的影响,迭代式求解元件分配问题、吸嘴集分配问题和头分配问题(头具体安装哪个吸嘴)三个子问题。考虑了一种类型的元件可以同时被多个机器进行贴装。
|
||||
Mumtaz等\cite{mumtaz_hybrid_2020}提出一种混合蜘蛛猴优化算法,将产线优化这一离散问题应用其中,同时解决元件分配问题和单机贴装顺序问题,未考虑单一类型元件可分配多台机器的情况。
|
||||
刘海明等\cite{liu_surface_assembly_2013}研究多机流水生产线负荷平衡优化优化及其求解方法,在各类元件贴装时间已知的前提下,建立问题数学模型,提出基于多阶段启发式搜索算法和伞布搜索两种整线优化方案,其方案是基于某种类型供料器仅能分配到某一台机器上进行的,可用于实际生产中,但该假设条件也限制了负载平衡率的提升。
|
||||
|
||||
% 车间调度
|
||||
国内也存在对SMT车间作业调度问题的研究,吴永忠等\cite{wu_scheduling_2009}研究PCB组装线中多条生产线的调度问题,对于一组准备时间和截止日期不尽相同的生产计划,最小化加权停机时间和完工时间,其对于该问题建立了混合整数线性规划模型并在小规模数据集上进行了最优性验证,为了在实际生产中得以应用,作者设计了带有改进替换策略的稳态遗传算法,并通过实验进一步验证了算法的有效性和高效性。
|
||||
杜轩等\cite{du_integration_2011}基于多色集理论,使用逻辑和数值矩阵轮廓描述不同元件和贴片机构成的PCB组装工艺,建立数学模型,提出一种混合遗传算法同时解决元件安装、PCB分配和组装顺序。这种设计方式可以弥补设计和制造之间的差距,以保证组装质量并提高生产效率,其提出的方法构建了车间调度问题统一的解空间,实现了生产线负载均衡、降低等待时间和缩短完成时间的目的。
|
||||
秦威等\cite{qin_two-stage_2019}研究了PCB组装过程的多阶段混合的车间调度问题,他研究将原问题解耦为两个子问题的分层优化算法,并进一步提出两阶段蚁群算法解决问题。相较于混合车间调度问题,作者指出问题不同于传统车间调度问题的几点特征:非抢占式的批处理任务、排班计划约束和依赖于先后顺序的准备时间,并首次将这些问题因素综合进行考虑。
|
||||
|
||||
|
||||
\subsection{国内外文献综述的简析}
|
||||
%(综合评述:国内外研究取得的成果,存在的不足或有待深入研究的问题) 不少于1000字
|
||||
|
||||
表面贴装优化任务是典型的NP难组合优化问题,直接对整个问题求解在搜索效率低且很容易陷入局部最优解。目前现有的主流文献将贴片机优化问题分别设置为两个独立的问题:供料器分配问题和元器件贴装顺序问题,可以被等价为二次分配问题和旅行商问题,
|
||||
|
||||
围绕表面贴装作业过程,其整数规划模型的建立也在不断完善,相关研究从最初的建立以贴片头移动路径长度为度量指标的数学模型\cite{ayob_real-time_2003,sun_branch-and-price_2007,zhu_improved_2014}逐步过渡到将吸嘴更换\cite{luo_milp_2017, ashayeri_aggregated_2011, huang_applied_2020}、同时拾取\cite{geng_mcvrp-based_2019, li_cell_2022, gao_hierarchical_2021}等环节对贴装时间影响的综合考量。数学模型既有传统的整数规划模型\cite{torabi_new_2013, zhu_improved_2014, huang_applied_2020},传统的数学规划模型最大的缺陷在于决策变量复杂、求解困难,为了简化问题数学模型,相关研究采取了不同的方法,如将问题转换为MCVRP(Multi-compartment Vehicle Routing Problem,多车舱车辆路径问题)进行求解\cite{geng_mcvrp-based_2019},引入“元件批组”概念进行建模\cite{ashayeri_aggregated_2011},采用多目标优化拆解子问题\cite{zhu_multi-objective_2018}等。
|
||||
|
||||
% 目前主流研究采用的方法
|
||||
目前主流研究方法中,表面贴装任务的解法精确解法和启发式解法,其中启发式解法又分为构造启发式和局部搜索启发式,常见的群智能体优化方法多数属于局部搜索启发式算法。精确解基于给定的数学数学模型,基于分支定界、列生成的专业求解方法进行,能在理论上保证解的最优性,在整数规划问题中,通过合理设计剪枝规则也能大幅提升求解效率。启发式算法是一种根据问题结构设计专用算法的一类求解方法的统称,通过结合专家经验,巧妙设计搜索规则,能高效获得准最优解。智能优化算法通过模拟自然过程等寻求解决一般化的最优化问题的共同特性,其非常适用于结构和特性固定的组合优化问题,以及机理建模难以建议的黑箱优化问题。不同的研究方法之间存在着较大差异,精确解算法求解效率通常随着问题规模的扩大指数级膨胀,对于本身相对复杂的组合优化问题,其精确模型的建立也存在较大困难,目前通用的求解器仅能处理线性模型,由于表面贴装任务自身非线性的特性,对已知模型的线性化近似处理,这些都为问题的求解增加了困难。智能优化算法是随机搜索和局部搜索相结合的方法,尽管通过马尔科夫链可证明其全局最优性,即当算法运行时间趋于无穷的时候,以概率1收敛到全局最优,但是,事实上,完全随机搜索也能实现类似的功能,在实际应用中,将运行时间设置为无穷是不现实的,由于缺乏最优性判定准则,何时停止搜索也无法准确获得。智能优化算法在解决大规模组合优化问题时,最主要的问题在于收敛性差,在对目标问题内在机理了解极少的情况下,以随机牺牲资源和效率进行求解。启发式算法通常是针对特定问题的定制化算法,也是本课题研究的主要内容,虽然启发式算法已经在多个领域得到了广泛应用,如针对TSP问题的LKH算法,针对VRP问题的C-W里程节约算法,但由于缺少最优性证明,其在理论上并不具备很强的说服力。在搜索范围上,全局搜索算法能较好地兼顾各个优化目标,但也存在不易收敛、收敛速度慢等一系列问题,分层搜索算法在实现层次最优的基础上达到全局最优。
|
||||
在基础算法领域,对于非线性、NP难特点的大规模优化问题,仍然缺少好用的处理工具和通用的就求解方法,特别是对于表面贴装任务,通常需要研究者结合领域知识,采用模型简化和变换、分而治之等方法进行近似求解。
|
||||
|
||||
电路板的表面贴装过程通常由若干台贴片机串联完成,这其中就涉及产线调度问题。
|
||||
影响产线调度存在诸多因素:客户订单、元件分配、PCB分组、元件顺序、供料器分配。关于整线调度部分的研究,目前主要集中在转塔式贴片机的优化工作中,对并列式贴片机的研究较少,基于事件模型预测的整线优化问题存在的固有缺陷是无法精准预测贴装时间,且部分预测模型需要大量实际生产数据,在实践中几乎是不可行的。以平衡工作负载为目标的产线优化问题,由于考虑影响贴装时间因素不全面,不可避免与实际贴装效果存在较大出入。以表面贴装过程为主题的产线调度问题需要综合考虑供料器分配、吸嘴分配、元件分配\cite{mumtaz_hybrid_2020}以使得优化结果更贴合实际。
|
||||
现有的PCB产线调度问题的研究对资源有限性的考虑不足,对于中小规模的加工车间,有限的吸嘴、供料器等资源直接限制了现有优化算法在实际工程中的部署,这也是本课题解决的问题之一。
|
||||
目前主流的产线调度问题种采用的都是时间预估模型,包括支持向量回归\cite{li_predicting_2020},神经网络模型\cite{vainio_estimating_2010},专家经验的手动规则\cite{vainio_estimating_2015},正则最小二乘回归\cite{vainio_estimating_2015}(围绕转塔式贴片机进行研究,略去了对供料器排列布局等关键性影响因素的分析),以线性/非线性回归为代表的时间预估模型存在的问题在于当机器参数变更时,模型需要重新进行训练。
|
||||
时间预测与整数规划相结合的产线贴装模型最大的问题在于当工作负载发生较大改变时,单位贴装点工作用时也会随之改变,多数模型采用固定时间常数显然是并不合理的。产线调度任务求解的重点在于在迭代过程中不断修正预估时间。
|
||||
|
||||
|
||||
\begin{table}
|
||||
\centering
|
||||
\caption{近几年表面贴装任务主要文献研究问题、目标以及方法汇总}
|
||||
\begin{tabular}{ccccccc}
|
||||
\hline
|
||||
& \multicolumn{3}{c}{Problem} & \multicolumn{3}{c}{Objective} \\
|
||||
\hline
|
||||
& CAP & FAP & PAP & Nozzle Change & Pick-up & Movement \\
|
||||
\hline
|
||||
HMOH\cite{gao_hierarchical_2021, li_cell_2022} & $\checkmark$ & & $\checkmark$ & $\checkmark$ & $\checkmark$ & $\checkmark$ \\
|
||||
\hline
|
||||
HGA\cite{geng_mcvrp-based_2019, guo_nozzle_2011} & $\checkmark$ & & $\checkmark$ & & $\checkmark$ & $\checkmark$ \\
|
||||
\hline
|
||||
MIP\cite{ashayeri_aggregated_2011} & $\checkmark$ & & $\checkmark$ & $\checkmark$ & & $\checkmark$ \\
|
||||
\hline
|
||||
\begin{tabular}[c]{@{}c@{}}Scan heuristic\\+B\&B\end{tabular}\cite{sun_component_2005, sun_branch-and-price_2007} & $\checkmark$ & $\checkmark$ & $\checkmark$ & & $\checkmark$ & $\checkmark$ \\
|
||||
\hline
|
||||
\begin{tabular}[c]{@{}c@{}}Curve matching\\+EA\end{tabular} \cite{zhu_multi-objective_2018} & $\checkmark$ & $\checkmark$ & $\checkmark$ & $\checkmark$ & & $\checkmark$ \\
|
||||
\hline
|
||||
HEA+TS\cite{luo_milp_2014, luo_modelling_2014} & $\checkmark$ & & $\checkmark$ & $\checkmark$ & & $\checkmark$ \\
|
||||
\hline
|
||||
MOPSO \cite{torabi_new_2013} & $\checkmark$ & & & $\checkmark$ & & \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{method_table}
|
||||
\end{table}
|
||||
|
||||
近几十年来,表面贴装过程优化的研究已取得了突飞猛进的进展,也为本课题研究的提供了开拓了思路,但其中也存在诸多问题,主要有:
|
||||
|
||||
1)假设条件不合理,文献\inlinecite{lee_dynamic_1998, lee_hierarchical_1999}假定不同类型元件仅能用一种供料器贴装,且供料器仅能由1个头进行取料,限制了最优解的获得。文献\inlinecite{guo_nozzle_2011,guo_integrated_2012, geng_mcvrp-based_2019}研究不进行吸嘴更换的拾取顺序决策问题,在处理吸嘴类型较多情形时,存在解不合理甚至无解等问题。文献\inlinecite{huang_applied_2020, ashayeri_aggregated_2011}将元件-吸嘴的一致性问题转化为代价函数,在实际生产中二者通常是要求严格匹配的,无法从根源上保证解的可行性。文献\inlinecite{tsuchiya_scheduling_2007}等在研究供料器位置分配时,并未将机械限位等因素考虑其中,在供料器数量较多时,供料器分配位置和贴装头元件分配结果出现冲突时,无法保证贴装顺利完成;不同型号供料器用于完成不同尺寸元件的贴装,文献\inlinecite{geng_mcvrp-based_2019,lee_hierarchical_1999}规定供料器仅占用一个槽位,无法满足大尺寸元件的拾贴任务要求。文献\inlinecite{gao_hierarchical_2021, li_cell_2022}需要对供料器安装位置重新进行分配,对于小批量不需要频繁更换供料器的情形,增加了生产准备时间。
|
||||
在车间调度问题中,文献\inlinecite{rong_modeling_2011}等忽略了PCB拓扑布局,将贴装时间预测模型近似为线性模型,模型不准确影响迭代求解过程。
|
||||
|
||||
2)考虑因素不全面,影响表面贴装过程的因素时多方面的,为完成复杂元件的贴装任务,优化过程不仅需要考虑贴装头本身的移动路径,其在ANC处完成更换吸嘴动作、并在供料器基座上不同的拾取位置完成取料动作,合理规划吸嘴更换动作、供料器安装位置是保证工作顺利进行、提升贴装效率的重要考虑因素之一;文献\inlinecite{sun_component_2005, lin_optimization_2016, guo_nozzle_2011}研究了对于直排式贴片机同时拾取最大化的问题,但未考虑吸嘴更换因素,导致生产过程中频繁更换吸嘴进而效率下降。部分文献\inlinecite{raduly-baka_tool-feeder_2017}研究供料器模组更换问题,适用于提供供料器车的贴片机,对于单机多类型供料器的分配问题研究目前相对较少。
|
||||
|
||||
|
||||
3)解决方案缺少系统性,表面贴装过程优化任务由于其自身的复杂性,完成电路板的贴装过程,算法应从供料器位置分配、贴装头取料位置、放料顺序等给出完整的解决方案,文献\inlinecite{gao_hierarchical_2021, geng_mcvrp-based_2019, lin_modified_2017}研究了供料器分配中的同时拾取问题,但对其中影响贴装效率的安装位置问题避而不谈。文献\inlinecite{zhu_multi-objective_2018}在处理拾取动作时,仅将移动路径作为参考因素,未考虑多个吸杆同时进行取料动作,降低了拾取效率。
|
||||
|
||||
4)方案设计的固有缺陷,表面贴装任务属于NP难组合优化问题,目前尚无有效解法能保证获取最优解,不同学者其拆分成若干子问题对以简化求解过程,其中不可避免存在解耦不充分等问题,业界通常将其分为供料器分配问题、贴装头元件分配问题和拾贴顺序问题。分层启发式算法依赖于问题的解耦程度,相关研究\cite{gao_hierarchical_2021, geng_mcvrp-based_2019, ashayeri_aggregated_2011}在设计算法时,对各阶段考虑仍不充分,如在解决供料器分布时将重点关注于同时拾取,忽视贴装点布局对其的影响等。迭代式方法\cite{chen_particle_2007}能解决问题之间的耦合关系,由于其需要综合考虑的因素较为复杂,目前相关有关的研究相对较少,同时也存在着计算时间长、收敛性差等问题。智能优化算法因其适用于传统数值方法难以解决、难以建立形象化模型的问题,而在贴片机调度优化中被广泛采用\cite{chen_component_2011, hsu_printed_2021, huang_applied_2020, wang_application_2019, wan_tabu_2001}。此类方法在解决贴装优化问题时,通常将整个优化问题完整进行编码,将贴装时间作为唯一的性能指标,无需拆解问题,也就不存在对耦合关系的考虑,然而,智能算法无法证明问题的收敛性,更无法从理论上给出获得一定精度的解所必须的迭代次数,甚至被认为是“撞运气”的大规模随机搜索算法。近年来,多目标优化算法有着广泛应用,常见研究通常将影响时间的因素拆分为吸嘴更换最小化、同时抓取最大化、贴装路径最小化等若干子目标\cite{gao_hierarchical_2021},多目标优化方法通过平衡不同性能指标达到整体最优的目标,其主要集中在对其中子问题的求解,忽略了多目标整体之间的关联性,或者通过对多个子问题分别建立优化模型,再采用加权的方法将多目标转化为单目标进行求解,这就难以保证权系数分配的客观性。
|
||||
|
||||
5)关键性技术的深入研究较少,以单机优化为代表的表面贴装任务优化过程的研究较为丰富,但尚不足以为表面电子制造业提供完整的解决方案,其中仍存在未深入研究的部分。在产线生产过程中,对不确定性变化的相关研究相对较少,这就意味着贴片机对突然状况的处理能力相对较弱,电路板在加工过程中涉及取料、检测、贴装等多个环节,各个环节都有赖于相关动作、检测的顺利执行,在偶发性情况下,当设备动作或检测失效时,贴片机应有能力迅速调整决策过程,改变既定生产计划,遗憾的是,相关课题的研究相对较少。
|
||||
|
||||
综上所述,现有的研究已取得阶段性的成果,并在工程中得到了实际应用。本课题的深入研究旨在进一步丰富相关细节内容,提升优化效率,使其更贴合应用背景,实在对生产车间全方面的调度和把控,具有重要的理论和应用价值。
|
||||
|
||||
\section{前期的理论研究与试验论证工作的结果}
|
||||
|
||||
\subsection{理论研究}
|
||||
|
||||
% 介绍下现有机器的优化效果,需要一些说明附图。
|
||||
|
||||
% 增加关于时间模型的论证
|
||||
|
||||
\subsubsection{表面贴装过程主要问题的分析}
|
||||
表面贴装过程优化问题属于多变量、非线性、高度耦合的混合整数规划问题,其具体体现在以贴装时间最小化为目标的规划问题,包含多个贴装动作影响整体贴装工时,对于拱架式贴片机,吸杆完成吸嘴更换以及对应的拾贴动作在贴装作业工程中占比较大,对于直排式贴片机的机械结构,使多个吸杆同时完成拾取任务,能有效减少贴装时间,吸嘴更换、同时拾取、路径规划是影响贴装时间的主要因素。
|
||||
|
||||
约束条件对问题的求解提出了更高要求,供料器、电路板上器件的复杂布局要求优化算法具有较好的兼容性,能充分考虑不同输入情况;贴片机生产过程中还面临着资源合理分配的问题,提供元器件的供料器通常是有限的,可安装供料器的槽位也存在限制,吸杆拾取和放置不同类型的元件需要尺寸与之匹配的吸嘴,吸嘴数量通常也是有限的,贴装头完成元件的拾贴作业要保证安装吸嘴类型、拾取元件类型、槽位安装元件类型三者的一致性,增加了模型建立的复杂度。
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=0.6]{figures/subject_frame.png}
|
||||
\caption{表面贴装过程优化主要问题}
|
||||
\label{subject_frame}
|
||||
\end{figure}
|
||||
对于复杂优化问题,需要对其进行合理化分割,以在合理时间内求解问题。本课题将表面贴装优化问题划分为二次分配和路径规划两个子问题,其中二次分配问题可进一步拆分为贴装头在各工作周期贴装的元件类型以及供料器安装的具体槽位,路径规划问题包含确定同一类型元件不同贴装位置贴装的先后顺序,对于分配问题,贴装头的元件分配结果和供料器安装槽位之间存在着较强的耦合关系,实际生产中同时存在着手动、半自动和自动等分配方案,考虑到同时拾取对生产效率的影响较大以及不确定的供料器布局等因素,供料器分配问题应当优先被解决。经拆分后,表面贴装过程需要解决的问题主要包括不确定供料器基座布局下的供料器槽位分配问题,给定供料器安装位置下的贴装头元件分配问题和给定元件分配下的路径规划问题。上述三个子问题均属于NP难问题,本课题主要工作即研究启发式算法解决上述三个问题,进而得到一套完整的表面贴装过程优化方案。
|
||||
|
||||
生产线负载均衡问题可被划分为时间预测问题和负载均衡问题,时间预测为负载均衡提供参考、负载均衡的结果用于预测时间,二者存在较强的耦合关系。对于SMT车间调度问题,其主要解决的是多条产线的订单排序问题,类似于生产线负载均衡问题,其也是基于对不同产线生产效率和生产准备时间的评估,对非抢占式订单和抢占式订单进行分配,属于车间调度问题的推广。
|
||||
|
||||
|
||||
\subsubsection{表面贴装过程数学模型的建立}
|
||||
|
||||
\textbf{索引和集合}
|
||||
|
||||
$i \in I$:元件类型索引,$I=\left\lbrace 1, 2, \cdots \right\rbrace $
|
||||
|
||||
$j \in J$:吸嘴类型索引,$J=\left\lbrace 1, 2, \cdots \right\rbrace $
|
||||
|
||||
$p \in P$:贴装点索引,$P=\left\lbrace 1, 2, \cdots \right\rbrace $
|
||||
|
||||
$h \in H$:头索引,$H=\left\lbrace 1, 2, \cdots \right\rbrace $
|
||||
|
||||
$k \in K$:周期索引,$K=\left\lbrace 1, 2, \cdots ,\lceil K / H \rceil \right\rbrace $
|
||||
|
||||
$s \in S$:槽索引,$S=\left\lbrace 1, 2, \cdots \right\rbrace $
|
||||
|
||||
$l \in L$:拾贴周期内贴装顺序索引,$L=\left\lbrace 1, 2, \cdots \right\rbrace $
|
||||
|
||||
\textbf{参数}
|
||||
|
||||
$\xi_{ij}$:若元件$i$和吸嘴$j$类型匹配,$\xi_{ij} = 1$(否则$\xi_{ij} = 0$)
|
||||
|
||||
$\psi_{pi}$:若贴装点$p$的元件类型为$i$,$\psi_{pi} = 1$(否则$\psi_{ps} = 0$)
|
||||
|
||||
$\alpha_{p}, \beta_{p}$:贴装点$p$的坐标$x$坐标和$y$坐标
|
||||
|
||||
$\lambda_{s}, \mu_{s}$:供料器基座上槽位$s$的$x$坐标和$y$坐标
|
||||
|
||||
$\gamma, \sigma$:吸嘴更换装置的$x$坐标和$y$坐标
|
||||
|
||||
$\epsilon_{j}$:一个拾贴周期内吸嘴$j$最多可用数量
|
||||
|
||||
$\theta_{j}$:元件类型$i$最多可用的供料器数目
|
||||
|
||||
$M$:一个足够大的常数
|
||||
|
||||
$t_{pick}, t_{place}, t_{change}$:拾取时间、贴装时间和吸嘴更换时间
|
||||
|
||||
$t_{acc}, v_{max}$:悬臂由零初速度最大加速到速度$v_{max}$,加速时间为$t_{acc}$
|
||||
|
||||
$int_{HD}, int_{ST}$:拾取头之间的间隔和供料器槽位之间的间隔
|
||||
|
||||
$r_{HS}$:拾取头间隔和供料器槽位间隔之比,通常为整数
|
||||
|
||||
\textbf{决策变量}
|
||||
|
||||
$x_{ikh}$:若周期$k$内头$h$作业的元件类型为$i$,$x_{ikh} = 1$(否则$x_{ikh} = 0$)
|
||||
|
||||
$y_{ikh}$:若周期$k$内头$h$作业的吸嘴类型为$i$,$y_{jkh} = 1$(否则$y_{jkh} = 0$)
|
||||
|
||||
$z_{pkh}$:若周期$k$内头$h$作业的贴装点为$p$,$z_{pkh} = 1$(否则$z_{pkh} = 0$)
|
||||
|
||||
$w_{pkl}$:若周期$k$第$l$个贴装点为$p$,$w_{pkl} = 1$(否则$w_{pkl} = 0$)
|
||||
|
||||
$f_{si}$:若元件$i$安装在供料器槽$s$中,$f_{si} = 1$(否则$f_{si} = 0$)
|
||||
|
||||
$m^{k}_{PF}, m^{k}_{PL} $:拾贴周期$k$第一次取料槽位和最后一个取料槽位
|
||||
|
||||
$\eta^{ks}_{PU}$:若周期$k$取料时,头1等效位于槽$s$上,$\eta^{ks}_{PU} = 1$(否则$\eta^{ks}_{PU} = 0$)
|
||||
|
||||
$\delta^{kh}_{NC}$:若周期$k$头$h$出现吸嘴更换动作,$\delta^{kh}_{NC} = 1$(否则$\delta^{kh}_{NC} = 0$)
|
||||
|
||||
$t^{k}_{FW}, t^{k}_{BW}$:周期$k$贴装头由供料器基座前往PCB首个贴装点的用时和贴装头由最后一个贴装点返回下一周期首个取料位置的移动用时
|
||||
|
||||
$t^{k}_{PL}, t^{k}_{PU}$:周期$k$贴装头在供料器基座移动上移动用时和在PCB电路板上贴装移动用时
|
||||
|
||||
表面贴装任务的最终目标是贴装时间最小化,其贴装用时由若干环节组成,包括贴装头移动用时、取料和贴装动作用时、吸嘴更换用时等,表面贴装过程的最小计算单元是拾贴周期,因此有目标函数:
|
||||
\begin{equation}
|
||||
\min \sum_{k \in K} t^{k}_{BW} + \left( t^{k}_{PU} + t_{pick} \cdot \sum_{s \in S} \eta^{ks}_{PU}\right) + t^{k}_{PL} + \left( t^{k}_{BW} + t_{change} \cdot \sum_{h \in H} \delta^{kh}_{NC} \right)
|
||||
\end{equation}
|
||||
|
||||
对于任一周期,单个头最多完成一个贴装点的拾取和贴装过程,对于变量$x_{ikh}$,$y_{ikh}$,$z_{pkh}$需要满足
|
||||
\begin{equation}
|
||||
\sum_{i \in I} x_{ikh} \leq 1 \qquad \forall k,h
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
\sum_{j \in J} y_{jkh} \leq 1 \qquad \forall k,h
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
\sum_{p \in P} z_{pkh} \leq 1 \qquad \forall k,h
|
||||
\end{equation}
|
||||
|
||||
|
||||
为保证贴装作业的顺利进行,各周期不同贴装头的吸嘴类型、元件类型和贴装点应保持一致,同时周期内的贴装顺序应与已分配贴装点相一致,因此有
|
||||
\begin{equation}
|
||||
x_{ikh} \leq \sum_{j \in J} \xi_{ij} y_{jkh} \qquad \forall i,k,h
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
z_{pkh} \leq \sum_{i \in I} \psi_{ip} x_{ikh} \qquad \forall p,k,h
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
\sum_{l \in L} p w_{pkl} = \sum_{h \in H} p z_{pkh} \qquad \forall k,p
|
||||
\end{equation}
|
||||
|
||||
为了保证PCB电路板上所有点均被贴装,同时贴装过程所用吸嘴、供料器等工具数目不超过贴片机本身可用上限,因此有
|
||||
\begin{equation}
|
||||
\sum_{p \in P} \sum_{k \in K} \sum_{h \in H} z_{pkh} = \left| P \right|
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
\sum_{k \in K} \sum_{h \in H} y_{jkh} = \epsilon_{j} \qquad \forall j
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
\sum_{s \in S} f_{is} = \theta_{i} \qquad \forall i
|
||||
\end{equation}
|
||||
|
||||
表面贴装过程同时受到机械纤维的约束,如图\ref{surface_mounter_layout}所示,贴装头取料过程中,存在机械限位的限制,贴装头存在不可到达的取料位置,如头1仅能在槽位1\textasciitilde{}50进行取料,头2技能在槽位3\textasciitilde{}52进行取料……因此有
|
||||
\begin{equation}
|
||||
0 \le s f_{si} x_{ikh} - \left( h - 1 \right) \cdot r_{HS} \leq \left| S \right| - \left( \left| H \right| - 1 \right) r_{HS} \qquad \forall s
|
||||
\end{equation}
|
||||
|
||||
直排式贴片机在设计时,通常将头之间的间隔距离设计为槽位间隔距离的整数倍,多个头之间可以同时在相同位置完成取料动作,从而节省取料时间,同时拾取次数满足
|
||||
\begin{equation}
|
||||
\left| \sum_{s^{\prime} \in S} s^{\prime} f_{s^{\prime}i} x_{ikh} - \left( h - 1 \right) r_{HS} - s \right| \leq M \eta^{ks}_{PU} \qquad \forall h, s
|
||||
\end{equation}
|
||||
|
||||
取料过程中首个取料位置$m^{k}_{PF}$和最后一个取料位置$m^{k}_{PL}$满足
|
||||
\begin{equation}
|
||||
m^{k}_{PL} \leq \sum_{s \in S} \left \lbrace \sum_{i \in I} s f_{si} x_{ikh} - \left( h - 1\right) int_{HD} \right \rbrace \leq m^{k}_{PF} \qquad \forall k
|
||||
\end{equation}
|
||||
贴装头移动用时为
|
||||
\begin{equation}
|
||||
t^{k}_{PU} \geq T \left[ \left( m^{k}_{PL} - m^{K}_{PF} \right) int_{ST} \right] \qquad \forall k
|
||||
\end{equation}
|
||||
|
||||
贴装头由最后一个取料位置移动到首个贴装点,对应用时为
|
||||
\begin{equation}
|
||||
t^{k}_{FW} \geq \max \left \lbrace T \left[\lambda_{m^{k}_{PL} } - \alpha_{\sum_{p \in P}pw_{pkl}}\right], T \left[ \mu_{m^{k}_{PL} } - \beta_{\sum_{p \in P}pw_{pkl}}\right] \right \rbrace \qquad \forall k
|
||||
\end{equation}
|
||||
|
||||
贴装头在PCB电路板加工过程中,其位置不仅由具体贴装点决定,同时受到贴装所用头的位置、贴装顺序等因素的影响,贴装用时为
|
||||
\begin{equation}
|
||||
\begin{split}
|
||||
t^{k}_{PL} & \geq \sum^{\left| L \right| -1}_{l=1} \max
|
||||
\Big\{T \left[ \beta_{\sum_{p \in P} p w_{pkl}} - \beta_{\sum_{p \in P} p w_{pk\left( l + 1\right)}}\right], \\
|
||||
& T \left[ \alpha_{\sum_{p \in P} p w_{pkl}} - \alpha_{\sum_{p \in P} p w_{pk\left( l + 1\right)}} - \left( \sum_{p \in P} h w_{pkl} z_{pkh} - \sum_{p \in P} h w_{pk\left( l + 1\right)} z_{pkh} \right) int_{HD} \right]\Big\}
|
||||
\quad \forall k
|
||||
\end{split}
|
||||
\end{equation}
|
||||
贴装头完成最后一个点作业返回供料器基座前,需要先检查各头是否需要前往ANC进行吸嘴更换,进而确定具体的移动用时。
|
||||
\begin{equation}
|
||||
t^{k}_{BW} =
|
||||
\begin{cases}
|
||||
\max \left \lbrace T \left[ \alpha_{\sum_{p \in P}pw_{pkL}} - \lambda_{m^{k+1}_{PL}}\right], T \left[ \beta_{\sum_{p \in P}pw_{pkL}} - \mu_{m^{k+1}_{PL}}\right] \right \rbrace, &\text{如果} \sum_{h \in H} \delta^{kh}_{NC} = 0 \\
|
||||
|
||||
\max \left \lbrace T \left[ \alpha_{\sum_{p}pw_{pkL}} - \gamma\right], T \left[ \beta_{\sum_{p}pw_{pkL}} -\sigma\right] \right \rbrace + \\
|
||||
\qquad \qquad \max \left \lbrace T \left[ \gamma - \lambda_{m^{k+1}_{PL}}\right], T \left[ \sigma - \mu_{m^{k+1}_{PL}}\right] \right \rbrace, &\text{其它}
|
||||
\end{cases}
|
||||
\forall k
|
||||
\end{equation}
|
||||
|
||||
通常情况下,贴片机XY轴移动时间和距离由于存在加减速过程,移动距离和时间通常不具备相关性,运动模型通常被简化为梯形加减速模型,此处不再进行赘述。上述模型相对完整地刻画出了表面贴装过程的具体环节,但模型仍有不完备之处,如运动学模型建立并不准确,对电机加减速过程、R轴转动等因素考虑不全面,未考虑供料器宽度的因素等,这些还需要后续进一步完善。从已有模型中可以看出,表面贴装过程是一个典型的非线性多变量的混合整数规划模型,无法使用常规的数学规划法进行求解,因而本课题将根据贴装任务特点,对问题模型进一步进行拆分解耦,设计一套完整高效的启发式算法对问题进行求解。
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[scale=0.7]{figures/surface_mounter_layout.eps}
|
||||
\caption{贴片机平面示意图}
|
||||
\label{surface_mounter_layout}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{表面贴装过程既有算法的研究}
|
||||
|
||||
为解决表面贴装优化任务,本课题前期研究工作,主要在文献\inlinecite{gao_hierarchical_2021}按照分层次优化的思路,对各子问题的优化算法进行了进一步完善,在各层次优化过程中充分考虑子问题之间的耦合关系。在总结既有算法存在问题基础上,对算法框架重新进行设计。在前期算法研究中,本课题前期主要验证和论证工作如下:
|
||||
|
||||
(1)表面贴装过程数学模型的论证工作,在不计拾贴路径等因素的前提下,将问题的主问题归结为供料器位置问题和贴装头元件分配问题,基于此提出了整数规划模型,并成功将其应用于小规模贴装任务模型求解中,经过实验论证,本课题提出的模型能保证小规模PCB贴装数据最优解的获得。
|
||||
|
||||
(2)对基于文献\inlinecite{gao_hierarchical_2021}的分层启发式算法进行了改进,改进工作包括但不限于研究贴装头分配过程兼顾供料器预占位、基于二分匹配解决吸嘴指定分配问题,对贴装路径设计动态搜索方案,缩短加工路径,设计供料器组拆解算法满足元件数目较多情形下,最大化同时拾取的分配任务需要等。
|
||||
|
||||
(3)设计新的通用型供料器基座扫描算法,使其适配于不同种供料器预分配情形,通过前置搜索规则,在吸嘴更换最小换和同时拾取最大化之间进行取舍,在贴装过程优化中,为了进一步适应实际生产的需要,本课题提出一种新的贴装过程优化算法框架,将优化过程划分为三个环节分层进行优化,该方法最大的优势在于进一步强化了约束条件,能适用于各种不确定输入数据,对各项性能指标均进行了提升和优化,算法流程如图\ref{algorithm_flowchart}所示。
|
||||
|
||||
|
||||
(4)设计多组对比实验验证方案优势,由于表面贴装过程本身NP难的属性,目前没有任何一项技术能保证求得问题的最优解。本课题选取多组生产线上的数据作为代表,从统计学的角度分析算法性能,验证本课题提出的算法优越性,同时测试不同输入、特别是边界条件下算法的实际优化效果,进而验证优化策略的通用性。
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[scale=0.6]{figures/algorithm_flowchart.png}
|
||||
\caption{表面贴装过程算法流程图}
|
||||
\label{algorithm_flowchart}
|
||||
\end{figure}
|
||||
\subsection{试验论证工作}
|
||||
|
||||
\subsubsection{仿真论证}
|
||||
|
||||
\begin{table}
|
||||
\centering
|
||||
\caption{测试数据范围}
|
||||
\begin{tabular}{c|c}
|
||||
\hline
|
||||
\textbf{\qquad 测试数据 \qquad } & \textbf{\qquad 数量/范围\qquad } \\
|
||||
\hline
|
||||
贴装头数 & 6 \\
|
||||
\hline
|
||||
电路板数 & 34 \\
|
||||
\hline
|
||||
元件类型数 & 1\textasciitilde{}26 \\
|
||||
\hline
|
||||
贴装点数 & 35\textasciitilde{}1510 \\
|
||||
\hline
|
||||
吸嘴类型数 & 1\textasciitilde{}4 \\
|
||||
\hline
|
||||
可用供料器数 & 1\textasciitilde{}6 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{experiment_table}
|
||||
\end{table}
|
||||
针对贴片机表面过程优化问题,本课题在前期试验论证过程中,完成了表\ref{method_table}中部分主流表面贴装过程优化方法,其中标准方法(standard)参考自某工业软件内置优化求解器,元胞分裂法(cell division)参考自文献\inlinecite{li_cell_2022},聚合法(aggregation)参考自文献\inlinecite{ashayeri_aggregated_2011},混合遗传算法(hybird genetic)参考自文献\inlinecite{geng_mcvrp-based_2019},启发式扫描算法(scan heuristic)为本课题提出的方法。表\ref{experiment_table}给出了测试数据范围。对于表面贴装过程,影响其贴装效率的主要因素包括贴装头移动路径、贴装头抓取用时、贴装头更换吸嘴用时等,其中,减少吸嘴更换次数、增加同时拾取动作在对整体贴装效率的影响更大,本课题也将这些指标分别进行对比,以比较不同算法之间的优势和劣势,根据表面贴装过程的相关运动参数,本课题进一步对贴装过程优化结果的用时进行了预估,并将其转换为标准单位CPH(Chip Per Hour,贴装点每小时),不同方法的比较结果如图\ref{cph_comparsion}所示。
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[scale=0.55]{figures/cph_comparsion.eps}
|
||||
\caption{主流表面贴装过程优化方法和本课题提出的方法贴装效率比较}
|
||||
\label{cph_comparsion}
|
||||
\end{figure}
|
||||
表面贴装过程优化问题本质上仍属于NP难组合优化方法,常见的优化求解方法都不可避免的存在维度爆炸的问题,因而在合理的求解时间内,最大程度平衡解的质量和求解速度,如图\ref{running_time_comparsion}所示,本课题提出的方法运算求解时间更短,能满足实际应用要求。
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[scale=0.4]{figures/time_comparsion.eps}
|
||||
\caption{主流表面贴装过程优化方法和本课题提出的方法运算时间比较}
|
||||
\label{running_time_comparsion}
|
||||
\end{figure}
|
||||
|
||||
表面贴装过程优化算法实际应用中,不仅需要满足一般情形下的贴装过程的优化,同时需要满足不同输入条件,图\ref{fig_input_comparsion}给出了不同输入条件下比较结果。本课题提出的算法框架最大的优势在于对于不同供料器布局情况,既能完成对未分配供料器的最优位置的分配,又能满足不同机械限位下最优解的搜索。同时,本课题提出的方法在搜索过程中兼顾了吸嘴、供料器等可用工具数量的限制,同时考虑到实际应用中,用户会选择不同吸杆使用的吸嘴,本课题搜索的方法也能满足此项要求的需求。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering %居中
|
||||
\subfigure[供料器布局不同] %第一张子图
|
||||
{
|
||||
\begin{minipage}{7cm}
|
||||
\centering %子图居中
|
||||
\includegraphics[scale=0.6]{comparsion_fig1.eps} %以pic.jpg的0.5倍大小输出
|
||||
\end{minipage}
|
||||
}
|
||||
\subfigure[可用供料器数不同] %第二张子图
|
||||
{
|
||||
\begin{minipage}{7cm}
|
||||
\centering %子图居中
|
||||
\includegraphics[scale=0.6]{comparsion_fig2.eps} %以pic.jpg的0.5倍大小输出
|
||||
\end{minipage}
|
||||
}
|
||||
|
||||
\subfigure[是/否预先分配吸嘴] %第二张子图
|
||||
{
|
||||
\begin{minipage}{7cm}
|
||||
\centering %子图居中
|
||||
\includegraphics[scale=0.6]{comparsion_fig3.eps} %以pic.jpg的0.5倍大小输出
|
||||
\end{minipage}
|
||||
}
|
||||
\subfigure[可用吸嘴数不同] %第二张子图
|
||||
{
|
||||
\begin{minipage}{7cm}
|
||||
\centering %子图居中
|
||||
\includegraphics[scale=0.6]{comparsion_fig4.eps}
|
||||
\end{minipage}
|
||||
}
|
||||
\caption{不同输入条件本课题提出方法优化效率比较}
|
||||
\label{fig_input_comparsion}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{平台试验}
|
||||
|
||||
在前期验证过程中,本课题依托项目组实际研发的生产平台对优化效果进行了试验验证工作,实验平台如图\ref{platform}所示,实验结果如表\ref{experiment_reuslt1}所示,可以看出本课题提出的优化方法在贴装用时上整体优于主流研究方法。
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[scale=0.5]{figures/platform.png}
|
||||
\caption{贴片机实验平台}
|
||||
\label{platform}
|
||||
\end{figure}
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\caption{平台实验论证结果}
|
||||
\begin{tabular}{c|c|ccccc}
|
||||
\hline
|
||||
& 贴装点数 & 工业求解器 & 文献\inlinecite{li_cell_2022} & 本课题 & 文献\inlinecite{ashayeri_aggregated_2011} & 文献\inlinecite{geng_mcvrp-based_2019} \\
|
||||
\hline
|
||||
1 & 564 & 128.814 & 154.108 & \textbf{\uline{122.03}} & 156.045 & 147.87 \\
|
||||
\hline
|
||||
2 & 62 & 20.104 & 25.658 & \textbf{\uline{16.858}} & 22.156 & 17.797 \\
|
||||
\hline
|
||||
3 & 400 & \textbf{\uline{72.832}} & 75.961 & 75.58 & 94.027 & 91.711 \\
|
||||
\hline
|
||||
4 & 258 & 66.723 & 88.043 & \textbf{\uline{63.215}} & 87.797 & 67.863 \\
|
||||
\hline
|
||||
5 & 180 & 42.588 & 44.927 & \textbf{\uline{41.585}} & 59.809 & 46.158 \\
|
||||
\hline
|
||||
6 & 114 & 28.852 & 30.106 & \textbf{\uline{30.431}} & 35.983 & 32.47 \\
|
||||
\hline
|
||||
7 & 1510 & 416.272 & 503.065 & \textbf{\uline{404.257}} & - & 464.939 \\
|
||||
\hline
|
||||
8 & 150 & \textbf{\uline{43.993}} & 74.12 & 46.649 & 62.914 & 52.458 \\
|
||||
\hline
|
||||
9 & 280 & 94.051 & 75.922 & \textbf{\uline{66.233}} & 99.358 & 88.594 \\
|
||||
\hline
|
||||
10 & 72 & 31.382 & 32.341 & \textbf{\uline{23.237}} & 36.052 & 23.211 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{experiment_reuslt1}
|
||||
\end{table}
|
||||
\section{学位论文的主要研究内容、实施方案及其可行性论证}
|
||||
\subsection{主要研究内容}
|
||||
%(撰写宜使用将来时态,不能只列出论文目录来代替对研究内容的分析论述) 不少于2000字
|
||||
|
||||
本课题以PCB组装过程优化为研究背景,结合既有文献的研究成果和一线技术人员经验,深入剖析PCB生产加工过程面临的迫切需求和问题,分析表面贴装过程优化目标、约束条件等,完成模型的建立和启发式算法的设计等工作,并以此为基础,进一步研究实时调度算法接解决生产过程中可能存在的不确定性因素。PCB的组装通常由SMT生产线上若干贴片机协作完成,整线优化解决的是各贴片机贴装效率的均衡问题。车间调度优化研究的是确定情形下的拆分工单问题和不确定情形下的鲁棒优化问题,实现对复杂多样的生产订单计划排班的优化。
|
||||
|
||||
1)表面贴装过程数学模型的分析与建立
|
||||
|
||||
如前所示,贴片机表面贴装过程可用多变量、多约束、非线性的整数规划模型进行表示,在模型建立过程中,本课题主要研究了影响表面贴装过程效率的主要因素,对贴装过程存在的内部约束条件和外部约束条件进行了总结分析,将由于决策变量之间耦合关系所带来的非线性项进行了线性化处理。表面贴装过程优化模型的约束既包含贴片机机械特性、可用贴装工具数量限制、贴装工具的一致性等内部约束,又包括操作员指定吸嘴、预先安装供料器等外部约束,在模型建立中需要加以考虑。在性能指标方面,主要指标吸嘴更换数、同时拾取数、拾贴路径长度等均会影响整体的贴装效率。贴装过程本身的复杂性决定了以时间为指标的数据模型复杂度极高,即使是对小规模问题的处理也要调用大量的计算资源,难以适用于一般情形下的问题求解。本课题将研究如何合理拆分问题,降低子问题之前的耦合性,对表面贴装过程分阶段的建立数学模型,以牺牲较小的性能指标为代价实现对中小规模PCB数据准最优解的获得。综上所述,本课题进一步完善了表面贴装过程的数学模型,在问题拆分过程中,在决策变量选取过程中,既充分考虑对非线性项的规避和处理,又要保证及决策变量数以及对应的约束方程数在可接受的范围内,为后续为算法的设计提供方向性的指导。
|
||||
|
||||
2)供料器特征匹配的分层启发式搜索算法研究
|
||||
|
||||
相比精确解和智能优化方法,启发式构造方法能更高效地求解大规模组合优化问题,根据问题结构特点设计算法能有效避免盲目性搜索带来的效率下降。贴装过程优化问题可以归结为带有一系列复杂约束的最短路径规划问题,本课题将表面贴装问题拆分为供料器占位分配、贴装头元件分配和拾贴路径规划三个子问题。在对供料器占位分配时,需要考虑已有供料器安装位置,供料器占位冲突、可用供料器数等因素;在对贴装头元件分配算法设计时,需要考虑有限的可用吸嘴数、吸嘴更换代价、供料器占位分布、工作周期数等因素;在对拾贴路径进行规划时,需要考虑贴装头分配元件结果,供料器布局等因素。可以看出,贴装头元件分配和供料器占位分配之间存在着较强的耦合关系,其启发式算法规则的设计也存在相近之处,以保证分配的结果能最大化同时拾取。对于搜索空间较大的情形,分层式启发式搜索策略既要保证能根据子问题的结构设计算法,又要提前设计搜索规则避免出现当前解的结果限制其它子问题进一步求解的情形,还要在搜索过程中设计剪枝算法提升整体搜索效率、平衡搜索范围和解的质量之间的矛盾。有必要指出,启发式构造算法本身也存在缺陷,通常情况下其无法在理论上保证解的最优性或定量描述与最优解之间的误差范围,因而本课题将进一步开展广泛的实验,通过多项性能指标,采用一定的分析手段,充分对比本课题提出方法和包括工业软件所用方法在内主流方法的差异。
|
||||
|
||||
贴片机组装过程实时规划研究的是对PCB组装过程不确定情形的处理方案,在表面贴装任务作业过程中,存在的较为典型的偶发性情况主要包括:重复识别错误率过高,导致部分元件需要重新进行贴装作业;某一类型供料器数量充足,通过调整拾取位置能完成贴装作业;气压传感器判定贴装头某一吸杆无法正常工作,需要对其承担的贴装任务进行再分配等。现有主流表面贴装设备所用的方案是重复执行未完成贴装任务的周期,其在废料率较低时是可行的,但在多次出现识别错误/料盘用尽等情况下,会造成生产效率的大幅下降。为保证机器运行的连续性和稳定性、减少组装过程的人为干预,贴装实时规划策略应具备快速运算的特性,以满足对贴片机稳定性和响应实时性的要求。
|
||||
|
||||
3)时间预测与负载均衡相结合的贴装生产线整线优化算法研究
|
||||
|
||||
表面贴装生产线的优化研究的主要是不同贴片机之间的负载均衡问题,其以贴片机表面贴装过程优化为基础。整线优化调度方案需要研究不同负载下对生产时间的估计模型,模型的求解速度和时间预测的准确性都会对结果产生较大影响。整线优化调度问题通常由时间预测和负载均衡两个子问题组成,时间预测依赖于负载均衡分配的贴装任务、优化方法等,负载均衡则依赖于时间均衡预估的单机产能,二者相互联系,紧密耦合。整线调度方案的约束条件主要包含工具约束和设备约束,工具约束指有限的可用供料器、吸嘴等,设备约束指特定类型的元件必须由指定贴片机实现,以满足生产线上高速贴片机和高精度中速贴片机的协同工作。本课题拟设计迭代式的求解方法,在迭代过程中以时间预测结果指导贴装任务分配,将分配好的贴装任务快速进行优化预测贴装时间,采取多种技术手段不断修正拟合结果,并在均衡负载过程中充分考虑资源约束,平衡贴片机之间的贴装效率,进而实现整体效率的最大化。
|
||||
|
||||
4)SMT生产车间的调度方案研究
|
||||
|
||||
在SMT加工车间中,制造商通常配备有多条生产线完成不同种类的PCB加工订单,SMT生产车间的调度优化,属于静态调度与动态调度相结合的复杂组合优化问题。生产车间调度过程中需要将加工车间整体的效率、不同贴片机之间的负载均衡、贴片机本身的利用率、车间整体能耗等诸多因素考虑在内。车间调度中存在的主要约束条件包括:资源层约束(工作日历,设备资源、物料资源,产品资源,线边库存),作业层约束(最早开工时间,最晚交工时间,生产线可开始加工时间)和工序层约束(工序的工艺流程,生产准备时间)。静态调度过程中,SMT生产线区别于传统工业生产线的特点在于需要合理调配各条生产线贴装元件种类,最小化换料时间,平衡各产线的最大吞吐量。动态调度过程中,考虑到车间生产订单通常不是一次性下发的,其间可能存在抢占式任务以及订单的交付时间的变更,实际调度过程是对段连续生产任务的持续优化。SMT车间调度方案既要保证已有订单的生产效率,同时方案能对抢占式任务、交付时间变更、生产过程宕机等突发情形完成计划变更。生产车间的鲁棒优化也是本课题研究的主要内容之一。
|
||||
|
||||
\subsection{实施方案及其可行性论证}
|
||||
|
||||
本课题在文献分析和实地调研的基础上,充分了解了表面贴装生产的实际需要,结合国内外调研的研究现状,进行了大量的前期实验性工作论证选题的合理性,从解决实际问题的角度出发,设计不同优化算法,验证实际实际效果,部分研究成果已转换为发明新型专利并在实际的生产贴装设备中得到了应用。依托自研表面贴装设备和表面贴装生产线,在经费、设备、人员上均能保证本课题的顺利进行。关于实施方案和可行性的具体论证如下:
|
||||
|
||||
1)表面贴装过程数学模型的分析与建立
|
||||
|
||||
在运筹优化领域,对研究对象建立准确的数学模型是问题分析和求解的首要环节。表面贴装过程数学模型的建立需要专业知识和实践经验相结合,即专业的规划模型建模基础和表面贴装生产线实际的操作经验。为保证课题的顺利开展,我们深入调研某智能装备研究所表面贴装设备的实际研发需求,围绕此建立和完善了数学模型。
|
||||
|
||||
整数规划作为求解组合优化问题的重要工具之一,已经成功应用于路径规划、物资分配等多个研究领域,其主要优势在于依赖于成熟的求解工具,能准确地获得最优解。
|
||||
表面贴装过程数学模型中涉及多个优化变量决策过程,直接求解建模难度大、约束条件复杂,部分优化目标函数难以用线性化表示。即使完成模型建立过程,实际模型地求解速度也很难适应实际生产的需要,其NP难特性已然决定直接使用数学规划法求解的方法不可行。为此,部分研究从不同角度对模型进行化简,如问题转化、根据问题结构引入辅助决策变量等。
|
||||
|
||||
本课题根据实际表面贴装过程的生产环节,分析影响贴装效率的主要动作,将最小化贴装时间问题归结为最小吸嘴更换、最大同时拾取、最小移动路径三个子目标,并将对效率影响较大的前三个因素作为目标函数建立整数规划模型。表面贴装任务以电路板布局和元件注册信息作为参数,同时受到有限的贴装工具(吸嘴、供料器等)、执行机构动作限位、贴装过程工具匹配性、供料器安装位置排列布局等条件的约束,最终形成包括供料器安装位置、贴装头装卸吸嘴顺序、贴装头拾贴元件类型、不同点贴装的先后顺序在内的完整的决策计划。现有研究中,已有大量研究从多个角度建立了问题的模型,本课题将在此基础上进一步完善约束条件、处理复杂约束、线性化数学模型,使其真正能应用整数规划方法进行求解。
|
||||
|
||||
本课题通过调研发现,目前主流研究将表面贴装任务拆解为元件分配和贴装点顺序决策两个子问题分别进行建模。前者主要求解吸杆的贴装元件类型、供料器位置分配,后者根据前者约束确定具体的拾取和贴装顺序,问题本身的耦合性决定上述模型拆解方式在多数情况下不可能获得最优解,但由于模型的简化、使得模型在合理时间内求解成为可能。在问题拆解过程中,关注主要影响因素的求解也有利于逼近最优解。对于单个贴片机优化问题,本课题已经完成对元件分配问题的建模和求解工作,并就产线实际电路板进行了验证,路径优化模型受到元件分配结果的约束,文献\inlinecite{sun_branch-and-price_2007}已提出Edge-based路径规划模型,本课题将在此基础上进一步研究分支定价过程中更高效的剪枝策略。集成化表面贴装生产线的数学模型中,现有研究假定元件贴装时间已知,在此基础上建立最大最小负载均衡模型,本课题进一步延展此问题,分析强约束情形下、不同吸嘴供料器分配结果对模型的影响,此部分模型通过增加负载均衡模型中的约束条件可实现,因而是可行的。车间调度问题属于传统JSP(Job Scheduling Problem,车间作业调度问题)的扩展,本课题将在此基础上继续完善有限资源约束条件。
|
||||
|
||||
本课题前期研究已经对元件分配子问题进行建模和验证工作,对影响表面贴装过程效率的关键性因素展开分析,根据其生产运行过程中的特点,初步完成了建模相关工作,整线调度和车间调度数学模型建立也在按计划进行中。
|
||||
|
||||
2)供料器特征匹配的分层启发式搜索算法研究
|
||||
|
||||
对于NP难组合优化问题,使用启发式算法设计是目前常采用的思路思路之一,不同于精确解法和智能算法,前者实际求解中不可用,后者的收敛性难以得到保证。
|
||||
启发式算法根据问题结构设计相应的算法,求解效率高、输入结果稳定。
|
||||
|
||||
表面贴装任务作为复杂的资源分配和路径规划相结合的组合优化问题,直接对整个问题设计启发式算法难度高、且运算复杂,通过分析问题的主要影响因素,分层次进行问题求解更为合理。分层策略需要充分考虑影响效率的因素,按影响因素的重要程度确定问题求解的先后顺序,同时充分兼顾当前问题解对后续问题解的限制。
|
||||
|
||||
本课题针对元件分配和路径规划开展了一系列前期研究和算法实验工作。对于元件分配任务,其主要通过分配贴装头上各工作周期的贴装元件类型和供料器分配,最小化工作周期、最小化吸嘴更换、最大化同时拾取;路径规划任务分配各工作周期具体的贴装点类型,实现贴装路径最小化的任务,同时满足一系列约束条件以及快速求解等实际需求。
|
||||
|
||||
本课题在前期研究中设计启发式算法成功解决元件分配,使其适配于不同的供料器布局,以不同的加权性能指标同某商业贴片机软件进行横向对比,证明该算法能较好的兼顾主要性能指标。对于路径规划问题,本课题提出一种直接的基于贪心的变区域路径规划方式,整体贴装路径长度与某商业贴片机软件优化结果相近,仍需要进一步改善。综合整体优化效果,本课题提出的方案最终贴装时间更少。贴片机路径规划的研究可以视为带约束的广义旅行商问题,相关研究已成功解决转塔式贴片机的路径规划问题,直排式贴片机由于其特殊的结构,其贴装位置通常是变化不确定的,为问题的求解带来了增加了困难。基于贪心的路径规划方法结合不同的扫描区域在处理直排式机头贴装路径规划问题时已取得不错的效果,在实际生产中也是可接受的,但由于其贪心策略属于局部搜索策略,且对于不同布局的印制电路板实际效果差别较大,目前正在研究邻域搜索、聚类等方法,实现约束条件下路径的全局搜索,提升优化效果。
|
||||
|
||||
表面贴装过程实施规划方案面向的是生产过程对不确定情形处理的实时调度方案,本课题初期的研究主要针对贴装过程的执行动作展开研究,如同一周期内R轴电机动作规划、供料器拾取位置切换、同时拾取动作快速规划等算法等研究,这些算法目前均已部署在设备中使用,在处理单个周期贴装任务时能最大化当前周期的生产效率,此部分内容的研究已基本完成。对于贴装计划在生产过程中动态变更的情形,要求设备有快速再规划能力。
|
||||
|
||||
此外,由前期调研可知,智能优化等局部搜索算法已广泛应用于不确定随机出现设备故障的车间实时调度任务中,对于贴装生产任务,此类算法固有的收敛速度慢的问题决定其难以被应用到实际生产中,其同时未利用已有的优化结果完成快速规划任务。本课题将通过设计启发式构造算法,对生产过程中出现的废料元件进行重新分组,在尽可能不改变已有优化结果的基础上,对新周期的同时拾取数、拾贴路径长度进行优化,避免新周期插入生产计划出现吸嘴等降低生产效率的情形。将模型简化为新的带约束的元件分组问题,应用已有的分组算法进行求解,在理论上是可行的。
|
||||
|
||||
|
||||
3)时间预测与负载均衡相结合的贴装生产线整线优化算法研究
|
||||
|
||||
集成化表面贴装生产线通常由若干台贴片机组合而成,前文已详细分析单机优化算法设计的可行性,整线优化调度是指分配不同机器协作进行的贴装任务,以实现工作时间的平衡。整线优化问题解决的关键在于对单个元件贴装时间的准确估计,进而设计负载平衡算法。对于贴装过程模型相对简单的贴片机,其贴装预估时间的计算更为直接,本课题基于此建立对应的数学模型并进行求解。结果证明,在数学模型准确的前提下,实现负载平衡是完全可行的。对于直排式贴装头贴片机,其贴装时间预估的模型更为复杂,以求解单机优化结果直接模拟贴装时间的方法结果相对准确,但是时间代价过大。以线性回归拟合、非线性神经网络拟合等为代表的方法虽然在预测上误差相对较大,但由于其快速的运算速度,更加适用于频繁迭代的算法。整线优化调度通常由时间预测模型和负载均衡算法组成,二者均有相对成熟的理论研究,其主要改进空间在于提升预测模型的准确度以及负载均衡时设备对贴装元件类型的要求、有限的可用贴装工具等限制。在课题组搭建的一体化表面贴装生产线中,已初步设计快速时间预测模型,分析整线生产中实际需求和约束条件,设计启发式算法对产线几组基本电路板数据开展验证实验。
|
||||
|
||||
4)SMT生产制造车间调度方案的研究
|
||||
|
||||
SMT生产制造车间的调度是传统JSP(Job Scheduling Problem,车间作业调度问题)的一种具体应用,JSP问题经过几十年的研究,以数学规划、智能优化、邻域搜索等为代表的一系列优化方法成功解决了这些问题。有别于此,SMT生产车间调度过程增加了订单准备时间的要求和生产工具有限的约束,此部分研究内容重点应关注不同订单顺序生产准备时间最小化和完工时间最小化等相关指标,同时忽略了加工的先后顺序。传统的调度算法实时性差,难以处理复杂多变的生产环境。近年来,深度强化学习方兴未艾,其不依赖问题模型的特性,融合了深度卷积网络和强化学习的灵活性、实时性等优势,目前已成功应用于车间调度问题中,且具有较好地泛化性和鲁棒性。本课题将在此基础上,完善基于深度强化学习的生产线调度算法框架,利用专家经验和改进的学习框架,结合SMT生产车间自身特性,深挖其在SMT生产车间调度中的进一步应用。
|
||||
|
||||
|
||||
|
||||
\section{论文进度安排,预期达到的目标}
|
||||
\subsection{进度安排}
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
\caption{博士学位论文研究工作进度安排}
|
||||
\begin{tabular}{|c|c|l|}
|
||||
\hline
|
||||
序号 & 计划时间 & \multicolumn{1}{c|}{主要研究内容} \\
|
||||
\hline
|
||||
1 & 2020年9月\textasciitilde{}2020年12月 & \begin{tabular}[c]{@{}l@{}}研究对象的特点,调研国内外表面贴装过\\程的研究现状\end{tabular} \\
|
||||
\hline
|
||||
2 & 2021年1月\textasciitilde{}2021年6月 & \begin{tabular}[c]{@{}l@{}}深入学习本领域研究手段和方法、实验室\\既有研究成果等\end{tabular} \\
|
||||
\hline
|
||||
3 & 2021年7月\textasciitilde{}2021年12月 & \begin{tabular}[c]{@{}l@{}}复现表面贴装过程优化经典文献的成果,\\总结既有研究成果经验和存在的问题\end{tabular} \\
|
||||
\hline
|
||||
4 & 2022年1月\textasciitilde{}2022年6月 & \begin{tabular}[c]{@{}l@{}}建立表面贴装过程的数学模型,分析其中\\的优化目标、约束条件等存在的耦合关系\end{tabular} \\
|
||||
\hline
|
||||
5 & 2022年7月\textasciitilde{}2022年12月 & \begin{tabular}[c]{@{}l@{}}根据贴片机表面贴装过程的生产特点,设\\计启发式算法,开展对比实验\end{tabular} \\
|
||||
\hline
|
||||
6 & 2023年1月\textasciitilde{}2023年6月 & \begin{tabular}[c]{@{}l@{}}研究集成化表面贴装生产线的优化调度任\\务,开展相关实验\end{tabular} \\
|
||||
\hline
|
||||
7 & 2023年7月\textasciitilde{}2023年12月 & 研究SMT车间调度问题的相关算法 \\
|
||||
\hline
|
||||
8 & 2024年1月\textasciitilde{}2024年6月 & 整理既有研究成果,撰写博士学位论文 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
|
||||
\subsection{预期达到的目标}
|
||||
|
||||
1、对于表面贴装过程中的若干优化问题,分别建立表面贴装过程模型、产线负载均衡模型、车间订单排序模型,分析不同优化问题的约束条件和优化目标,实现对小规模问题最优精确解的获得
|
||||
|
||||
2、对于贴片机表面贴装过程,设计分层次求解框架,将贴装优化问题拆解为供料器位置分配问题、贴装头元件分配问题和拾贴路径规划问题,对各子问题设计启发式算法,按照性能指标、问题结构特点等改良算法实现,验证不同指标的优劣,在进行广泛仿真验证基础上,将研究成果转换到实际生产用贴片机中,进一步开展实物对比实验;
|
||||
|
||||
3、对于贴片机表面贴装过程实时决策,提出一种可用于表面贴装过程实时调度决策的算法,主要解决作业过程中不确定性情形下实时决策问题,实验中引入随机干扰验证算法的有效性,同主流解决方案开展对比实验;
|
||||
|
||||
4、对于多级串联贴装生产线优化,设计时间预测与负载均衡结合的迭代式整线优化算法,研究一种具有快速运算能力的贴装时间预测算法,在迭代过程中提升时间预测的准确性,降低设备间生产时间差异
|
||||
|
||||
4、对于SMT生产车间的调度决策,将SMT车间调度问题转换为JSP问题,研究基于深度强化学习的SMT生产车间的调度算法,实现调度方案的高效性、实时性和鲁棒性。
|
||||
|
||||
\section{学位论文预期创新点}
|
||||
|
||||
1、建立表面贴装过程主要优化问题的混合整数规划模型;
|
||||
|
||||
2、提出一种基于供料器特征提取匹配的启发式贴片机优化算法框架;
|
||||
|
||||
3、提出一种贴片机生产过程不确定条件下的实时动态决策算法;
|
||||
|
||||
4、提出一种融合时间预测和负载均衡的多级串联生产线优化算法;
|
||||
|
||||
5、提出一种具有实时抗干扰性基于深度强化学习的SMT生产车间智能调度优化算法。
|
||||
|
||||
\section{为完成课题已具备和所需的条件、外协计划及经费}
|
||||
|
||||
本课题依托所在项目组自研的高速高精度贴片机展开,实验室已在相关研究领域积累数十年研究成果,并在研发过程中为其设计多套定制化算法。实验平台完整、便于开展实验,目前关于生产过程动态决策调度需要模拟不同情形、集成化生产线需要外协协助开展设备调试等工作,所需经费主要用于专利申请、论文投稿费、版面费等。
|
||||
|
||||
\section{预计研究过程中可能遇到的困难、问题,以及解决的途径}
|
||||
|
||||
在数学模型建立阶段,根据现有研究,通常将表面贴装过程设计为整数规划模型,其中涉及的决策变量多、约束条件复杂,需要合理选择决策变量,简化决策变量个数,同时对其中的非线性目标/约束进行线性化处理
|
||||
|
||||
表面贴装生产过程优化问题是一个多层次优化问题,涉及的优化子问题较多,问题求解的侧重点不同将直接影响优化的最终效果。在单机优化过程中,需要考虑不同输入数据下启发式算法的约束条件,充分考虑影响生产效率的不同因素,包括同时拾取次数、吸嘴更换次数、拾贴路径长度等,贴片机自身结构特性也需要被纳入考虑中。分层求解的思路本身存在着解耦不充分的问题,因而需要在各个阶段研判当前决策的主要影响以及对后续优化可能产生的影响,才能充分保证产生高质量的解。NP难问题本身求解的困难,以及启发式算法本身的特点决定了其只能逼近次优解,因而需要充分的实验数据进一步验证算法的有效性。
|
||||
|
||||
表面贴装决策过程由于涉及贴装过程生产数据动态变化的过程,给问题的求解进一步增加了困难,同时考虑到其中偶发因素的不确定性,为重复验证和实物实验增加了困难。实时决策算法对算法的响应速度提出了较高要求,在算法设计时需要对求解效率和求解质量进行折中。本课题拟从仿真实验入手,通过离线比对数据贴装时间差异,分析算法的有效性和可行性,进一步开展实物实验。
|
||||
|
||||
生产线优化主要存在的困难在于数学模型的建立、以及贴片机之间负载平衡的求解规则的获得,目前主要研究方法局限于时间预测模型的离线快速评估,缺少实物实验的支撑。关于负载平衡算法,其算法设计的最终目标是对于具体的单机优化算法,不需要重新进行设计,即负载平衡算法可以被拓展应用到任意的表面贴装优化算法中,以期随着单机优化算法的进一步深入研究,负载平衡算法能较好地与之兼容。生产负载平衡的另一大难点在于适配不同机型,其生产特性等不尽相同,增加了问题求解的难度。
|
||||
|
||||
SMT生产车间调度主要问题在于验证和测试调度算法框架的实际效果,对现有SMT车间订单插入、产线故障等不确定的复杂情形进行模拟,需要大量的计算资源搭建学习网络,
|
||||
|
||||
预计研究过程中产生的困难和问题,仍需进一步查阅相关参考资料、了解最新研究领域现状,充分比对不同算法设计方案的优劣势,开展充分测试实验,并在实际贴装生产线上进行进一步验证工作。
|
||||
|
||||
\clearpage
|
||||
\section{主要参考文献}
|
||||
\bibliographystyle{hithesis}
|
||||
\bibliography{reference}
|
||||
|
||||
|
||||
% Local Variables:
|
||||
% TeX-master: "../report"
|
||||
% TeX-engine: xetex
|
||||
% End:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 156 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 9.4 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 143 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 178 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 101 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,14 @@
|
||||
% !Mode:: "TeX:UTF-8"
|
||||
|
||||
\hitsetup
|
||||
{
|
||||
ctitlecover = {表面贴装过程中生产效率优化的关键技术研究
|
||||
},
|
||||
caffil = {航天学院},
|
||||
csubject = {控制科学与工程},
|
||||
cauthor = {卢光宇},
|
||||
cstudentid = {20B904007},
|
||||
cclassid = {},
|
||||
cdate = {2022年9月},
|
||||
csupervisor = {高会军\;教授},
|
||||
}
|
||||
+1954
File diff suppressed because it is too large
Load Diff
+168
@@ -0,0 +1,168 @@
|
||||
%%
|
||||
%% This is file `examples/hitart/reports/hithesisart.cfg',
|
||||
%% generated with the docstrip utility.
|
||||
%%
|
||||
%% The original source files were:
|
||||
%%
|
||||
%% hithesis.dtx (with options: `artcfg')
|
||||
%%
|
||||
%% This is a generated file.
|
||||
%%
|
||||
%% Copyright (C) 2017-2021 by Chu Yanshuo <yanshuoc@gmail.com>
|
||||
%%
|
||||
%% This file may be distributed and/or modified under the
|
||||
%% conditions of the LaTeX Project Public License, either version 1.3a
|
||||
%% of this license or (at your option) any later version.
|
||||
%% The latest version of this license is in:
|
||||
%%
|
||||
%% http://www.latex-project.org/lppl.txt
|
||||
%%
|
||||
%% and version 1.3a or later is part of all distributions of LaTeX
|
||||
%% version 2004/10/01 or later.
|
||||
%%
|
||||
%% This is the configuration file of the hithesis package with LaTeX2e.
|
||||
%%
|
||||
\ProvidesFile{hithesisart.cfg}
|
||||
[2021/05/06 3.0.15 Harbin Institute of Technology Thesis Template]
|
||||
\theorembodyfont{\normalfont}
|
||||
\theoremheaderfont{\normalfont\heiti}
|
||||
\theoremsymbol{\ensuremath{\square}}
|
||||
\newtheorem*{proof}{证明}
|
||||
\theoremstyle{plain}
|
||||
\theoremsymbol{}
|
||||
\theoremseparator{}
|
||||
\newtheorem{assumption}{假设}
|
||||
\newtheorem{definition}{定义}
|
||||
\newtheorem{proposition}{命题}
|
||||
\newtheorem{lemma}{引理}
|
||||
\newtheorem{theorem}{定理}
|
||||
\newtheorem{axiom}{公理}
|
||||
\newtheorem{corollary}{推论}
|
||||
\newtheorem{exercise}{练习}
|
||||
\newtheorem{example}{例}
|
||||
\newtheorem{remark}{注释}
|
||||
\newtheorem{problem}{问题}
|
||||
\newtheorem{conjecture}{猜想}
|
||||
\ctexset{%
|
||||
contentsname={目\hspace{\ccwd}录},
|
||||
figurename=图,
|
||||
tablename=表
|
||||
}
|
||||
\let\CJK@todaysave=\today
|
||||
\def\CJK@todaysmall@short{\the\year 年 \the\month 月}
|
||||
\def\CJK@todaysmall{\the\year 年 \the\month 月 \the\day 日}
|
||||
\def\CJK@todaybig@short{\zhdigits{\the\year}年\zhnumber{\the\month}月}
|
||||
\def\CJK@todaybig{\zhdigits{\the\year}年\zhnumber{\the\month}月\zhnumber{\the\day}日}
|
||||
\def\CJK@today{\CJK@todaysmall}
|
||||
\renewcommand\today{\CJK@today}
|
||||
\newcommand\CJKtoday[1][1]{%
|
||||
\ifcase#1\def\CJK@today{\CJK@todaysave}
|
||||
\or\def\CJK@today{\CJK@todaysmall}
|
||||
\or\def\CJK@today{\CJK@todaybig}
|
||||
\fi}
|
||||
\cdate{\ifhit@bachelor\CJK@todaysmall\else\CJK@todaysmall@short\fi}
|
||||
\ifhit@doctor
|
||||
\gdef\hit@cxueweishort{博}
|
||||
\gdef\hit@cxuewei{\hit@cxueweishort 士}
|
||||
\gdef\hit@cdegree{\hit@cxueke\hit@cxuewei}
|
||||
\def\hit@cauthortitle{\hit@cxueweishort 士研究生}
|
||||
\fi
|
||||
\ifhit@master
|
||||
\gdef\hit@cxueweishort{硕}
|
||||
\gdef\hit@cxuewei{\hit@cxueweishort 士}
|
||||
\gdef\hit@cdegree{\hit@cxueke\hit@cxuewei}
|
||||
\def\hit@cauthortitle{\hit@cxueweishort 士研究生}
|
||||
\fi
|
||||
\ifhit@bachelor
|
||||
\gdef\hit@cxuewei{学士}
|
||||
\fi
|
||||
\def\hit@stage@opening{开题}
|
||||
\def\hit@stage@midterm{中期}
|
||||
\def\hit@stage@doctype{报告}
|
||||
\def\hit@bachelor@cxuewei{本科}
|
||||
\def\hit@bachelor@cthesisname{毕业设计(论文)}
|
||||
\def\hit@bachelor@cmajortitle{专\hspace{2\ccwd}业}
|
||||
\def\hit@bachelor@cstudenttitle{学\hspace{2\ccwd}生}
|
||||
\def\hit@bachelor@cstudentidtitle{学\hspace{2\ccwd}号}
|
||||
\def\hit@bachelor@cclass{班\hspace{2\ccwd}号}
|
||||
\def\hit@bachelor@caffiltitle{院(系)}
|
||||
\def\hit@bachelor@caffiltitlesz{学院}
|
||||
\def\hit@bachelor@caffiltitlewh{学院}
|
||||
\def\hit@bachelor@csupervisortitle{指导教师}
|
||||
\def\hit@bachelor@cdatetitle{日\hspace{2\ccwd}期}
|
||||
\newcommand{\hit@bachelor@teachercomment}{指导教师评语:}
|
||||
\newcommand{\hit@bachelor@teachersign}{指导教师签字:}
|
||||
\newcommand{\hit@bachelor@checkdate}{检查日期:}
|
||||
\def\hit@cthesistitleprefix{题\hspace{\ccwd}目}
|
||||
\def\hit@graduate@caffiltitle{院\hspace{3\ccwd}(系)}
|
||||
\def\hit@graduate@cmajortitle{学\hspace{4\ccwd}科}
|
||||
\def\hit@graduate@supervisor{导\hspace{4\ccwd}师}
|
||||
\def\hit@graduate@studenttitle{研\hspace{1.5\ccwd}究\hspace{1.5\ccwd}生}
|
||||
\def\hit@graduate@studentid{学\hspace{4\ccwd}号}
|
||||
\def\hit@graduate@datetitle{\ifhit@opening\hit@stage@opening
|
||||
\else\ifhit@midterm\hit@stage@midterm\fi\fi\hit@stage@doctype 日期}
|
||||
\def\hit@graduate@enrolldate{入\hspace{0.6666666\ccwd}学\hspace{0.6666666\ccwd}时\hspace{0.6666666\ccwd}间}
|
||||
\def\hit@graduate@thesistitle{论\hspace{0.6666666\ccwd}文\hspace{0.6666666\ccwd}题\hspace{0.6666666\ccwd}目}
|
||||
\def\hit@graduate@cafflimajor{学\hspace{0.6666666\ccwd}科\hspace{0.6666666\ccwd}专\hspace{0.6666666\ccwd}业}
|
||||
\def\hit@cschoolname{哈尔滨工业大学}
|
||||
\def\hit@shenzhencampus{(深圳)}
|
||||
\def\hit@cthesisname{学位论文}
|
||||
\def\hit@cthesismidtermcheck{博\hspace{.125\ccwd}士\hspace{.125\ccwd}学\hspace{.125\ccwd}位\hspace{.125\ccwd}论\hspace{.125\ccwd}文\hspace{.125\ccwd}中\hspace{.125\ccwd}期\hspace{.125\ccwd}检\hspace{.125\ccwd}查\hspace{.125\ccwd}报\hspace{.125\ccwd}告}
|
||||
\def\hit@weihaicampus{(威海)}
|
||||
\def\hit@cschoolnametitle{授予学位单位}
|
||||
\def\hit@cdatetitle{答辩日期}
|
||||
\def\hit@caffiltitle{所在单位}
|
||||
\def\hit@csubjecttitle{学科}
|
||||
\def\hit@cdegreetitle{申请学位}
|
||||
\def\hit@csupervisortitle{导师}
|
||||
\def\hit@cassosupervisortitle{副导师}
|
||||
\def\hit@ccosupervisortitle{联合导师}
|
||||
\def\hit@title@csep{:}
|
||||
\def\hit@natclassifiedindextitle{国内图书分类号}
|
||||
\def\hit@internatclassifiedindextitle{国际图书分类号}
|
||||
\def\hit@secretlevel{密级}
|
||||
\def\hit@schoolidtitle{学校代码}
|
||||
\def\hit@schoolid{10213}
|
||||
\newcommand{\hit@authorsig}{作者签名:}
|
||||
\newcommand{\hit@teachersig}{导师签名:}
|
||||
\newcommand{\hit@frontdate}{日期:}
|
||||
\newcommand{\hit@authorizationtitle}{学位论文使用权限}
|
||||
\newcommand{\hit@shenzhen@schoolbottommark}{
|
||||
\begin{center}
|
||||
\songti\sanhao\textbf{哈工大(深圳)制}
|
||||
\end{center}
|
||||
\begin{center}
|
||||
\songti\sanhao\textbf{二〇一二年三月}
|
||||
\end{center}
|
||||
}
|
||||
\newcommand{\hit@harbin@schoolbottommark}{
|
||||
\begin{center}
|
||||
\songti\sanhao\textbf{研究生院制}
|
||||
\end{center}
|
||||
}
|
||||
\newcommand{\hit@harbin@bachelor@schoolbottommark}{
|
||||
\begin{center}
|
||||
\lishu\xiaoer\textbf{哈尔滨工业大学教务处制}
|
||||
\end{center}
|
||||
}
|
||||
\newcommand{\hit@shenzhen@doctor@midterm@note}{
|
||||
\thispagestyle{empty}
|
||||
{\begin{center}
|
||||
\songti\sanhao\textbf{说\hspace{4\ccwd}明}
|
||||
\end{center}
|
||||
}
|
||||
\vspace{1cm}\songti\sihao[2]
|
||||
\begin{enumerate}[itemsep=-4bp]
|
||||
\item 博士研究生学位论文中期报告一般在入学后的第五学期末完成。
|
||||
\item 此报告由学生本人填写,请导师签字后提交一份给检查小组。答辩结束后由检查组长签署意见。
|
||||
\item 报告经中期报告检查组长签字同意后,由学科部保存,以备论文答辩时参考。研究生院学生培养处将对研究生的学位论文中期报告进行抽查。
|
||||
\item 报告统一用A4纸打印。
|
||||
\end{enumerate}
|
||||
}
|
||||
\newcommand{\hit@datefill}{\hspace{2.5em}年\hspace{1.5em}月\hspace{1.5em}日}
|
||||
\def\hit@hi{嗨!thesis}
|
||||
\def\hithesis{\textsc{hi}\-\textsc{Thesis}}
|
||||
\def\hit{哈尔滨工业大学}
|
||||
\endinput
|
||||
%%
|
||||
%% End of file `examples/hitart/reports/hithesisart.cfg'.
|
||||
+475
@@ -0,0 +1,475 @@
|
||||
%%
|
||||
%% This is file `examples/hitart/reports/hithesisart.cls',
|
||||
%% generated with the docstrip utility.
|
||||
%%
|
||||
%% The original source files were:
|
||||
%%
|
||||
%% hithesis.dtx (with options: `artcls')
|
||||
%%
|
||||
%% This is a generated file.
|
||||
%%
|
||||
%% Copyright (C) 2017-2021 by Chu Yanshuo <yanshuoc@gmail.com>
|
||||
%%
|
||||
%% This file may be distributed and/or modified under the
|
||||
%% conditions of the LaTeX Project Public License, either version 1.3a
|
||||
%% of this license or (at your option) any later version.
|
||||
%% The latest version of this license is in:
|
||||
%%
|
||||
%% http://www.latex-project.org/lppl.txt
|
||||
%%
|
||||
%% and version 1.3a or later is part of all distributions of LaTeX
|
||||
%% version 2004/10/01 or later.
|
||||
%%
|
||||
%% To produce the documentation run the original source files ending with `.dtx'
|
||||
%% through LaTeX.
|
||||
%%
|
||||
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
||||
\ProvidesClass{hithesisart}
|
||||
[2021/05/06 3.0.15 Harbin Institute of Technology Thesis Template]
|
||||
\RequirePackage{ifthen}
|
||||
\RequirePackage{kvoptions}
|
||||
\SetupKeyvalOptions{
|
||||
family=hit,
|
||||
prefix=hit@,
|
||||
setkeys=\kvsetkeys}
|
||||
|
||||
\newif\ifhit@bachelor
|
||||
\newif\ifhit@master
|
||||
\newif\ifhit@doctor
|
||||
\define@key{hit}{type}{%
|
||||
\hit@bachelorfalse
|
||||
\hit@masterfalse
|
||||
\hit@doctorfalse
|
||||
\expandafter\csname hit@#1true\endcsname}
|
||||
|
||||
\newif\ifhit@shenzhen
|
||||
\newif\ifhit@weihai
|
||||
\newif\ifhit@harbin
|
||||
\define@key{hit}{campus}{%
|
||||
\hit@shenzhenfalse
|
||||
\hit@weihaifalse
|
||||
\hit@harbinfalse
|
||||
\expandafter\csname hit@#1true\endcsname}
|
||||
\ifhit@weihai\relax\else
|
||||
\ifhit@shenzhen\relax\else
|
||||
\hit@harbintrue
|
||||
\fi
|
||||
\fi
|
||||
|
||||
\newif\ifhit@opening
|
||||
\newif\ifhit@midterm
|
||||
\define@key{hit}{stage}{%
|
||||
\hit@openingfalse
|
||||
\hit@midtermfalse
|
||||
\expandafter\csname hit@#1true\endcsname}
|
||||
|
||||
\DeclareBoolOption[true]{raggedbottom}
|
||||
\DeclareBoolOption[false]{pifootnote}
|
||||
\DeclareBoolOption[false]{debug}
|
||||
\DeclareBoolOption[true]{toc}
|
||||
\DeclareBoolOption[true]{newtxmath}
|
||||
|
||||
\DeclareStringOption{fontset}
|
||||
|
||||
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexart}}
|
||||
|
||||
\ProcessKeyvalOptions*
|
||||
\PassOptionsToPackage{no-math}{fontspec}
|
||||
|
||||
\ifhit@bachelor\relax\else
|
||||
\ifhit@master\relax\else
|
||||
\ifhit@doctor\relax\else
|
||||
\ClassError{hithesisart}%
|
||||
{
|
||||
\MessageBreak Please specify thesis type in option:
|
||||
\MessageBreak type=[bachelor | master | doctor]
|
||||
}
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
|
||||
\ifhit@opening\relax\else
|
||||
\ifhit@midterm\relax\else
|
||||
\ClassError{hithesisart}%
|
||||
{
|
||||
\MessageBreak Please specify stage in option:
|
||||
\MessageBreak stage=<opening|midterm>
|
||||
}
|
||||
\fi
|
||||
\fi
|
||||
|
||||
\ifhit@doctor
|
||||
\ifhit@midterm
|
||||
\ifhit@shenzhen
|
||||
\ClassError{hithesisart}%
|
||||
{
|
||||
\MessageBreak This document class does not support midterm report for doctor
|
||||
in shenzhen campus.
|
||||
\MessageBreak please use \string\documentclass{hithesisartplus}
|
||||
}
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
|
||||
\ifthenelse%
|
||||
{\equal{\hit@fontset}{}}%
|
||||
{%
|
||||
\PassOptionsToPackage{AutoFakeBold=2}{xeCJK}
|
||||
}%
|
||||
{%
|
||||
\ifthenelse%
|
||||
{\equal{\hit@fontset}{siyuan}}%
|
||||
{\relax}%
|
||||
{%
|
||||
\PassOptionsToPackage{AutoFakeBold=2}{xeCJK}
|
||||
}%
|
||||
\PassOptionsToClass{fontset=\hit@fontset}{ctexart}
|
||||
}%
|
||||
\LoadClass[a4paper,UTF8,zihao=-4,scheme=plain]{ctexart}
|
||||
|
||||
\RequirePackage{etoolbox}
|
||||
\RequirePackage{ifxetex}
|
||||
\ifxetex
|
||||
\else
|
||||
\ClassError{hithesis}%
|
||||
{Please use: \MessageBreak
|
||||
xelatex}{}
|
||||
\fi
|
||||
\RequirePackage{xparse}
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage[amsmath,thmmarks,hyperref]{ntheorem}
|
||||
\RequirePackage{amssymb}
|
||||
\RequirePackage[defaultsups]{newtxtext}
|
||||
\ifhit@newtxmath
|
||||
\RequirePackage{newtxmath}
|
||||
\fi
|
||||
\RequirePackage{courier}
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage{pdfpages}
|
||||
\includepdfset{fitpaper=true}
|
||||
\RequirePackage{enumitem} %使用enumitem宏包,改变列表项的格式
|
||||
\RequirePackage{environ}
|
||||
\ifhit@raggedbottom
|
||||
\RequirePackage[bottom,perpage,hang]{footmisc}
|
||||
\raggedbottom
|
||||
\else
|
||||
\RequirePackage[perpage,hang]{footmisc}
|
||||
\fi
|
||||
\ifhit@pifootnote
|
||||
\RequirePackage{pifont}
|
||||
\fi
|
||||
\RequirePackage{xeCJKfntef}
|
||||
|
||||
\RequirePackage{longtable}
|
||||
\RequirePackage{booktabs}
|
||||
\RequirePackage[sort&compress,numbers]{natbib}
|
||||
\RequirePackage{hyperref}
|
||||
\hypersetup{%
|
||||
CJKbookmarks=true,
|
||||
linktoc=all,
|
||||
bookmarksnumbered=true,
|
||||
bookmarksopen=true,
|
||||
bookmarksopenlevel=1,
|
||||
breaklinks=true,
|
||||
colorlinks=false,
|
||||
plainpages=false,
|
||||
pdfborder=0 0 0}
|
||||
\urlstyle{same}
|
||||
|
||||
\ifhit@debug
|
||||
\RequirePackage[showframe]{geometry}
|
||||
\else
|
||||
\RequirePackage{geometry}
|
||||
\fi
|
||||
|
||||
\geometry{%根据PlutoThesis 原版定义而来
|
||||
a4paper, % 210 * 297mm
|
||||
hcentering,
|
||||
ignoreall,
|
||||
nomarginpar,
|
||||
centering,
|
||||
text={150true mm,236true mm},
|
||||
left=30true mm,
|
||||
head=5true mm,
|
||||
headsep=2true mm,
|
||||
footskip=0true mm,
|
||||
foot=5.2true mm
|
||||
}
|
||||
|
||||
\ifhit@debug%
|
||||
\RequirePackage{layout}
|
||||
\RequirePackage{layouts}
|
||||
\RequirePackage{lineno}
|
||||
\fi
|
||||
|
||||
\RequirePackage{fancyhdr}
|
||||
\RequirePackage{tabularx}
|
||||
\RequirePackage{varwidth}
|
||||
\RequirePackage{changepage}
|
||||
\RequirePackage{multicol}
|
||||
\RequirePackage[below]{placeins}%允许上一个section的浮动图形出现在下一个section的开始部分,还提供\FloatBarrier命令,使所有未处理的浮动图形立即被处理
|
||||
\RequirePackage{flafter} % 使得所有浮动体不能被放置在其浮动环境之前,以免浮动体在引述它的文本之前出现.
|
||||
\RequirePackage{multirow} %使用Multirow宏包,使得表格可以合并多个row格
|
||||
\RequirePackage{subfigure}%支持子图 %centerlast 设置最后一行是否居中
|
||||
\RequirePackage[subfigure]{ccaption} %支持双语标题
|
||||
\RequirePackage{xltxtra}
|
||||
|
||||
|
||||
\renewcommand\normalsize{%
|
||||
\@setfontsize\normalsize{12bp}{20.50398bp}%
|
||||
\abovedisplayskip=8pt
|
||||
\abovedisplayshortskip=8pt
|
||||
\belowdisplayskip=\abovedisplayskip
|
||||
\belowdisplayshortskip=\abovedisplayshortskip}
|
||||
|
||||
\def\hit@def@fontsize#1#2{%
|
||||
\expandafter\newcommand\csname #1\endcsname[1][1.3]{%
|
||||
\fontsize{#2}{##1\dimexpr #2}\selectfont}}
|
||||
\hit@def@fontsize{dachu}{58bp}
|
||||
\hit@def@fontsize{chuhao}{42bp}
|
||||
\hit@def@fontsize{xiaochu}{36bp}
|
||||
\hit@def@fontsize{yihao}{26bp}
|
||||
\hit@def@fontsize{xiaoyi}{24bp}
|
||||
\hit@def@fontsize{erhao}{22bp}
|
||||
\hit@def@fontsize{xiaoer}{18bp}
|
||||
\hit@def@fontsize{sanhao}{16bp}
|
||||
\hit@def@fontsize{xiaosan}{15bp}
|
||||
\hit@def@fontsize{sihao}{14bp}
|
||||
\hit@def@fontsize{banxiaosi}{13bp}
|
||||
\hit@def@fontsize{xiaosi}{12bp}
|
||||
\hit@def@fontsize{dawu}{11bp}
|
||||
\hit@def@fontsize{wuhao}{10.5bp}
|
||||
\hit@def@fontsize{xiaowu}{9bp}
|
||||
\hit@def@fontsize{liuhao}{7.5bp}
|
||||
\hit@def@fontsize{xiaoliu}{6.5bp}
|
||||
\hit@def@fontsize{qihao}{5.5bp}
|
||||
\hit@def@fontsize{bahao}{5bp}
|
||||
|
||||
|
||||
\ctexset{%
|
||||
section={
|
||||
afterindent=true,
|
||||
beforeskip={7.5mm},%上下空0.5行
|
||||
afterskip={7.5mm},
|
||||
format={\heiti\xiaosan[1.25]},
|
||||
aftername=\enspace,
|
||||
fixskip=true,
|
||||
break={},
|
||||
},
|
||||
subsection={
|
||||
afterindent=true,
|
||||
beforeskip={6.5mm},
|
||||
afterskip={6.5mm},
|
||||
format={\heiti\sihao[1.25]},
|
||||
aftername=\enspace,
|
||||
fixskip=true,
|
||||
break={},
|
||||
},
|
||||
subsubsection={
|
||||
afterindent=true,
|
||||
beforeskip={3mm},
|
||||
afterskip={3mm},
|
||||
format={\heiti\normalsize},
|
||||
aftername=\enspace,
|
||||
fixskip=true,
|
||||
break={},
|
||||
},
|
||||
paragraph/afterindent=true,
|
||||
subparagraph/afterindent=true
|
||||
}
|
||||
|
||||
\def\hit@def@term#1{%
|
||||
\define@key{hit}{#1}{\csname #1\endcsname{##1}}
|
||||
\expandafter\gdef\csname #1\endcsname##1{%
|
||||
\expandafter\gdef\csname hit@#1\endcsname{##1}}
|
||||
\csname #1\endcsname{}}
|
||||
|
||||
\hit@def@term{ctitlecover} %中文标题封面
|
||||
\hit@def@term{csubject}
|
||||
\hit@def@term{cauthor}
|
||||
\hit@def@term{cstudentid}
|
||||
\hit@def@term{cclassid}
|
||||
\hit@def@term{caffil}
|
||||
\hit@def@term{csupervisor}
|
||||
\hit@def@term{cdate}
|
||||
|
||||
\def\hit@parse@keywords#1{
|
||||
\define@key{hit}{#1}{\csname #1\endcsname{##1}}
|
||||
\expandafter\gdef\csname hit@#1\endcsname{}
|
||||
\expandafter\gdef\csname #1\endcsname##1{
|
||||
\@for\reserved@a:=##1\do{
|
||||
\expandafter\ifx\csname hit@#1\endcsname\@empty\else
|
||||
\expandafter\g@addto@macro\csname hit@#1\endcsname{%
|
||||
\ignorespaces\csname hit@#1@separator\endcsname}
|
||||
\fi
|
||||
\expandafter\expandafter\expandafter\g@addto@macro%
|
||||
\expandafter\csname hit@#1\expandafter\endcsname\expandafter{\reserved@a}}}}
|
||||
|
||||
\def\hitsetup{\kvsetkeys{hit}}
|
||||
|
||||
\newcommand{\hit@report@titlepage@graduate}{
|
||||
\ifthenelse%
|
||||
{\equal{\hit@fontset}{siyuan}}%
|
||||
{\xiaosi[1]\vspace*{0.65em}}%
|
||||
{\xiaosi[1]\textcolor[rgb]{1,1,1}{\songti{\hit@hi}}}%
|
||||
\vspace*{10mm}
|
||||
\begin{center}
|
||||
\kaishu\xiaoer\textbf{\hit@cschoolname\ifhit@shenzhen\hit@shenzhencampus\fi}
|
||||
\end{center}
|
||||
\vspace{5mm}
|
||||
\begin{center}
|
||||
\songti\erhao\textbf{\hit@cxuewei\hit@cthesisname
|
||||
\ifhit@opening
|
||||
\hit@stage@opening
|
||||
\else
|
||||
\ifhit@midterm
|
||||
\hit@stage@midterm
|
||||
\fi
|
||||
\fi
|
||||
\hit@stage@doctype
|
||||
}
|
||||
\end{center}
|
||||
\vspace{10mm}
|
||||
\parbox[t][3cm][t]{\textwidth}{
|
||||
\begin{center}
|
||||
\songti\xiaoer\textbf{\hit@cthesistitleprefix\hit@title@csep\hit@ctitlecover}
|
||||
\end{center}
|
||||
}
|
||||
\parbox[b][3cm][t]{\textwidth}{
|
||||
\begin{center}\songti\sanhao
|
||||
\renewcommand{\arraystretch}{2.1}
|
||||
\begin{tabular}{l@{\ \ }c}
|
||||
\textbf{\hit@graduate@caffiltitle} & \underline{\makebox[6.1cm]{\textbf{\hit@caffil}}}\\
|
||||
\textbf{\hit@graduate@cmajortitle} & \underline{\makebox[6.1cm]{\textbf{\hit@csubject}}}\\
|
||||
\textbf{\hit@graduate@supervisor} & \underline{\makebox[6.1cm]{\textbf{\hit@csupervisor}}}\\
|
||||
\textbf{\hit@graduate@studenttitle} & \underline{\makebox[6.1cm]{\textbf{\hit@cauthor}}}\\
|
||||
\textbf{\hit@graduate@studentid} & \underline{\makebox[6.1cm]{\textbf{\hit@cstudentid}}}\\
|
||||
\textbf{\hit@graduate@datetitle} & \underline{\makebox[6.1cm]{\textbf{\hit@cdate}}}\\
|
||||
\end{tabular}\renewcommand{\arraystretch}{1}
|
||||
\end{center}
|
||||
}
|
||||
\vfill
|
||||
\ifhit@harbin
|
||||
\hit@harbin@schoolbottommark
|
||||
\else
|
||||
\ifhit@shenzhen
|
||||
\hit@shenzhen@schoolbottommark
|
||||
\fi
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\hit@report@titlepage@bachelor}{
|
||||
\ifthenelse%
|
||||
{\equal{\hit@fontset}{siyuan}}%
|
||||
{\xiaosi[1]\vspace*{0.65em}}%
|
||||
{\xiaosi[1]\textcolor[rgb]{1,1,1}{\songti{\hit@hi}}}%
|
||||
\vspace*{10mm}
|
||||
\begin{center}
|
||||
\includegraphics[width=6.2cm]{hitlogo}
|
||||
\end{center}
|
||||
\begin{center}
|
||||
\songti\xiaoyi\textbf{\hit@bachelor@cthesisname
|
||||
\ifhit@opening
|
||||
\hit@stage@opening
|
||||
\else
|
||||
\ifhit@midterm
|
||||
\hit@stage@midterm
|
||||
\fi
|
||||
\fi
|
||||
\hit@stage@doctype
|
||||
}
|
||||
\end{center}
|
||||
\vspace{15mm}
|
||||
\parbox[t][6.5cm][t]{\textwidth}{
|
||||
\begin{center}
|
||||
\songti\xiaoer\textbf{\hit@cthesistitleprefix\hit@title@csep\hit@ctitlecover}
|
||||
\end{center}
|
||||
}
|
||||
\parbox[b][6cm][t]{\textwidth}{
|
||||
\begin{center}\songti\sanhao
|
||||
\renewcommand{\arraystretch}{2.1}
|
||||
\begin{tabular}{l@{\ \ }c}
|
||||
\textbf{\hit@bachelor@cmajortitle} & \underline{\makebox[6.1cm]{\textbf{\hit@csubject}}}\\
|
||||
\textbf{\hit@bachelor@cstudenttitle} & \underline{\makebox[6.1cm]{\textbf{\hit@cauthor}}}\\
|
||||
\textbf{\hit@bachelor@cstudentidtitle} & \underline{\makebox[6.1cm]{\textbf{\hit@cstudentid}}}\\
|
||||
\ifhit@weihai % 威海校区特有
|
||||
\textbf{\hit@bachelor@cclass} & \underline{\makebox[6.1cm]{\textbf{\hit@cclassid}}}\\
|
||||
\fi
|
||||
\textbf{\hit@bachelor@csupervisortitle} & \underline{\makebox[6.1cm]{\textbf{\hit@csupervisor}}}\\
|
||||
\textbf{\hit@bachelor@cdatetitle} & \underline{\makebox[6.1cm]{\textbf{\hit@cdate}}}\\
|
||||
\end{tabular}\renewcommand{\arraystretch}{1}
|
||||
\end{center}
|
||||
}
|
||||
\vfill
|
||||
\ifhit@weihai
|
||||
\relax
|
||||
\else
|
||||
\hit@harbin@bachelor@schoolbottommark
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\hit@report@backpage@bachelor}{
|
||||
\thispagestyle{empty}
|
||||
\noindent\parbox[t][6.5cm][t]{\textwidth}{\hit@bachelor@teachercomment}
|
||||
\noindent\parbox[b][6cm][t]{\textwidth}{\hit@bachelor@teachersign\underline{\makebox[3cm]{}}\hfill\hit@bachelor@checkdate\underline{\makebox[3cm]{}}}
|
||||
}
|
||||
|
||||
\renewcommand\tableofcontents{%
|
||||
\thispagestyle{empty}
|
||||
{\centering\section*{\contentsname}}
|
||||
\normalsize\@starttoc{toc}
|
||||
}
|
||||
|
||||
\def\makecover{
|
||||
\begin{titlepage}
|
||||
\ifhit@bachelor
|
||||
\hit@report@titlepage@bachelor
|
||||
\else
|
||||
\hit@report@titlepage@graduate
|
||||
\fi
|
||||
\clearpage
|
||||
\ifhit@toc
|
||||
\tableofcontents
|
||||
\clearpage
|
||||
\fi
|
||||
\end{titlepage}
|
||||
}
|
||||
\def\makebackcover{
|
||||
\clearpage
|
||||
\hit@report@backpage@bachelor
|
||||
}
|
||||
|
||||
\newcommand\bibstyle@numerical{\bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}}
|
||||
\newcommand\bibstyle@inline{\bibpunct{[}{]}{,}{n}{,}{\hit@inline@sep}}
|
||||
|
||||
\citestyle{numerical}
|
||||
\DeclareRobustCommand\inlinecite{\@inlinecite}
|
||||
\def\@inlinecite#1{\begingroup\citestyle{inline}\let\@cite\NAT@citenum\citep{#1}\endgroup}
|
||||
\let\onlinecite\inlinecite
|
||||
|
||||
\renewenvironment{thebibliography}[1]{%
|
||||
\list{\@biblabel{\@arabic\c@enumiv}}%
|
||||
{\renewcommand{\makelabel}[1]{##1\hfill}
|
||||
\settowidth{\labelwidth}{\@biblabel{#1}}
|
||||
\setlength{\labelsep}{0.5em}
|
||||
\setlength{\itemindent}{0pt}
|
||||
\setlength{\leftmargin}{\labelsep+\labelwidth}
|
||||
\addtolength{\itemsep}{-0.8em}
|
||||
\usecounter{enumiv}%
|
||||
\let\p@enumiv\@empty
|
||||
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
|
||||
\sloppy\frenchspacing
|
||||
\flushbottom
|
||||
\clubpenalty0
|
||||
\@clubpenalty \clubpenalty
|
||||
\widowpenalty0%
|
||||
\interlinepenalty-50%
|
||||
\sfcode`\.\@m}
|
||||
{\def\@noitemerr
|
||||
{\@latex@warning{Empty `thebibliography' environment}}%
|
||||
\endlist\frenchspacing}
|
||||
\AtEndOfClass{\input{hithesisart.cfg}}
|
||||
\AtEndOfClass{\sloppy}
|
||||
\endinput
|
||||
%%
|
||||
%% End of file `examples/hitart/reports/hithesisart.cls'.
|
||||
+382
@@ -0,0 +1,382 @@
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: cairo 1.14.10 (http://cairographics.org)
|
||||
%%CreationDate: Sat Aug 26 21:27:21 2017
|
||||
%%Pages: 1
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%BoundingBox: 98 590 565 677
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
save
|
||||
50 dict begin
|
||||
/q { gsave } bind def
|
||||
/Q { grestore } bind def
|
||||
/cm { 6 array astore concat } bind def
|
||||
/w { setlinewidth } bind def
|
||||
/J { setlinecap } bind def
|
||||
/j { setlinejoin } bind def
|
||||
/M { setmiterlimit } bind def
|
||||
/d { setdash } bind def
|
||||
/m { moveto } bind def
|
||||
/l { lineto } bind def
|
||||
/c { curveto } bind def
|
||||
/h { closepath } bind def
|
||||
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
|
||||
0 exch rlineto 0 rlineto closepath } bind def
|
||||
/S { stroke } bind def
|
||||
/f { fill } bind def
|
||||
/f* { eofill } bind def
|
||||
/n { newpath } bind def
|
||||
/W { clip } bind def
|
||||
/W* { eoclip } bind def
|
||||
/BT { } bind def
|
||||
/ET { } bind def
|
||||
/pdfmark where { pop globaldict /?pdfmark /exec load put }
|
||||
{ globaldict begin /?pdfmark /pop load def /pdfmark
|
||||
/cleartomark load def end } ifelse
|
||||
/BDC { mark 3 1 roll /BDC pdfmark } bind def
|
||||
/EMC { mark /EMC pdfmark } bind def
|
||||
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
|
||||
/Tj { show currentpoint cairo_store_point } bind def
|
||||
/TJ {
|
||||
{
|
||||
dup
|
||||
type /stringtype eq
|
||||
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
|
||||
} forall
|
||||
currentpoint cairo_store_point
|
||||
} bind def
|
||||
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
|
||||
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
|
||||
/Tf { pop /cairo_font exch def /cairo_font_matrix where
|
||||
{ pop cairo_selectfont } if } bind def
|
||||
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
|
||||
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
|
||||
/cairo_font where { pop cairo_selectfont } if } bind def
|
||||
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
|
||||
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
|
||||
/g { setgray } bind def
|
||||
/rg { setrgbcolor } bind def
|
||||
/d1 { setcachedevice } bind def
|
||||
/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def
|
||||
/cairo_image { image cairo_flush_ascii85_file } def
|
||||
/cairo_imagemask { imagemask cairo_flush_ascii85_file } def
|
||||
%%EndProlog
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
%%PageBoundingBox: 98 590 565 677
|
||||
%%EndPageSetup
|
||||
q 98 590 467 87 rectclip q
|
||||
0 g
|
||||
532.574 596.495 m 527.34 601.503 l 532.105 601.257 l 536.867 601.015 l
|
||||
537.176 605.284 l 537.57 610.765 535.727 611.605 529.727 608.679 c 525.621
|
||||
606.675 525.082 606.632 522.34 608.054 c 519.105 609.734 518.207 613.554
|
||||
521.047 613.554 c 526.309 613.554 535.574 615.941 536.098 617.433 c 536.414
|
||||
618.331 537.324 619.831 538.117 620.761 c 539.957 622.917 538.949 624.589
|
||||
535.809 624.589 c 534.309 624.589 533.371 625.167 533.371 626.093 c 533.371
|
||||
627.132 534.414 627.597 536.746 627.597 c 538.602 627.597 540.684 628.273
|
||||
541.367 629.101 c 542.051 629.929 543.152 630.605 543.816 630.605 c 545.504
|
||||
630.605 554.359 636.612 554.359 637.753 c 554.359 640.003 551.082 639.741
|
||||
548.531 637.292 c 546.605 635.437 545.172 634.859 543.562 635.28 c 542.25
|
||||
635.624 540.578 635.269 539.586 634.433 c 538.641 633.64 535.949 632.155
|
||||
533.602 631.136 c 529.934 629.542 528.992 629.468 526.855 630.616 c 525.492
|
||||
631.351 524.375 632.526 524.375 633.237 c 524.375 634.55 530.199 636.609
|
||||
533.93 636.62 c 535.062 636.624 536.859 637.276 537.926 638.069 c 539.75
|
||||
639.425 539.766 639.616 538.18 641.234 c 536.59 642.855 536.336 642.855
|
||||
533.902 641.253 c 529.945 638.651 527.355 641.421 531.121 644.23 c 532.781
|
||||
645.468 532.785 645.62 531.133 647.3 c 529.477 648.987 529.316 648.98 527.637
|
||||
647.112 c 526.668 646.034 524.629 643.234 523.109 640.89 c 520.074 636.202
|
||||
519.285 635.859 516.941 638.214 c 515.5 639.659 515.535 640.05 517.367
|
||||
642.632 c 519.605 645.784 519.863 648.249 518.371 652.194 c 517.082 655.597
|
||||
517.922 657.003 520.438 655.651 c 522.004 654.812 522.375 653.526 522.375
|
||||
648.929 c 522.375 644.753 522.672 643.542 523.488 644.362 c 525.016 645.898
|
||||
524.98 659.335 523.438 664.03 c 522.742 666.136 522.426 668.109 522.73
|
||||
668.413 c 523.68 669.37 528.34 667.757 530.293 665.796 c 532.059 664.023
|
||||
532.078 663.616 530.602 658.296 c 529.742 655.202 529.355 652.359 529.738
|
||||
651.976 c 530.117 651.593 531.637 652.491 533.113 653.972 c 535.215 656.081
|
||||
535.535 656.925 534.582 657.878 c 532.492 659.98 533.246 660.816 536.652
|
||||
660.175 c 539.746 659.593 540.133 659.859 543.301 664.769 c 545.152 667.632
|
||||
546.953 671.386 547.305 673.109 c 548.117 677.101 550.496 677.569 552.109
|
||||
674.058 c 554.223 669.452 553.566 667.433 548.82 663.929 c 544.594 660.808
|
||||
543.32 658.456 545.219 657.28 c 545.688 656.991 547.113 657.866 548.391
|
||||
659.23 c 549.664 660.589 551.164 661.706 551.719 661.706 c 552.273 661.706
|
||||
553.707 662.624 554.898 663.749 c 556.094 664.878 558.707 666.066 560.711
|
||||
666.39 c 563.699 666.878 564.352 666.679 564.352 665.28 c 564.352 662.866
|
||||
562.582 659.78 558.711 655.433 c 556.867 653.362 555.355 651.331 555.355
|
||||
650.917 c 555.355 650.507 554.223 648.847 552.836 647.23 c 549.637 643.499
|
||||
550.965 641.87 555.352 644.148 c 559.18 646.136 563.352 645.437 563.352
|
||||
642.804 c 563.352 640.519 555.363 633.476 551.09 631.995 c 548.676 631.159
|
||||
547.922 630.343 548.094 628.757 c 548.223 627.589 547.203 624.968 545.824
|
||||
622.929 c 542.656 618.245 543.805 616.956 549.211 619.128 c 553.934 621.023
|
||||
556.355 620.526 556.355 617.655 c 556.355 615.093 554.867 614.226 549.359
|
||||
613.577 c 544.863 613.05 l 545.203 605.913 l 545.523 599.101 545.395 598.612
|
||||
542.348 595.132 c 540.594 593.124 538.855 591.484 538.48 591.484 c 538.109
|
||||
591.484 535.449 593.737 532.57 596.495 c h
|
||||
545.535 641.296 m 547.727 643.284 547.891 644.651 545.934 644.651 c 544.055
|
||||
644.651 541.191 641.734 541.914 640.558 c 542.719 639.253 543.449 639.401
|
||||
545.535 641.296 c h
|
||||
544.215 645.972 m 545.816 647.913 546.102 653.878 544.613 654.405 c 543.871
|
||||
654.671 543.363 653.995 543.363 652.73 c 543.363 651.562 542.691 650.347
|
||||
541.867 650.03 c 539.598 649.155 540.055 644.651 542.41 644.651 c 542.801
|
||||
644.651 543.613 645.245 544.215 645.972 c h
|
||||
551.395 649.917 m 553.59 653.487 554.887 657.499 554.098 658.288 c 553.82
|
||||
658.566 552.422 658.499 550.988 658.136 c 548.836 657.593 548.398 656.929
|
||||
548.488 654.327 c 548.551 652.593 548.27 650.155 547.863 648.913 c 546.742
|
||||
645.472 549.066 646.132 551.395 649.917 c h
|
||||
538.367 650.702 m 538.367 653.507 535.695 654.288 533.355 652.163 c 530.906
|
||||
649.937 531.66 648.663 535.43 648.663 c 537.715 648.663 538.367 649.116
|
||||
538.367 650.702 c h
|
||||
282.875 600.261 m 277.797 605.624 277.324 605.894 276.215 604.112 c 272.863
|
||||
598.734 269.059 596.937 267.828 600.155 c 267.441 601.167 267.922 602.335
|
||||
269.066 603.175 c 270.871 604.503 270.859 604.601 268.73 606.097 c 266.473
|
||||
607.683 265.711 612.261 267.395 614.105 c 268.73 615.566 269.637 620.386
|
||||
268.684 620.976 c 268.219 621.265 266.312 619.921 264.449 617.987 c 262.059
|
||||
615.511 260.328 614.562 258.594 614.765 c 255.715 615.109 254.789 612.874
|
||||
254.629 605.21 c 254.535 600.519 253.203 596.495 251.746 596.503 c 251.355
|
||||
596.503 249.742 598.905 248.168 601.839 c 245.32 607.136 245.312 607.202
|
||||
247.07 610.609 c 248.27 612.944 249.082 617.749 249.594 625.585 c 250.008
|
||||
631.933 250.805 638.308 251.363 639.753 c 252.125 641.714 251.977 643.499
|
||||
250.781 646.843 c 249.219 651.198 249.508 654.683 251.426 654.683 c 253.09
|
||||
654.683 258.27 649.773 258.812 647.679 c 259.164 646.339 258.359 644.612
|
||||
256.426 642.53 c 252.633 638.456 251.941 635.39 253.887 631.269 c 255.355
|
||||
628.167 255.328 627.573 253.5 622.737 c 252.418 619.882 251.531 616.87
|
||||
251.531 616.05 c 251.531 613.741 253.32 614.284 254.043 616.812 c 255.953
|
||||
623.487 259.816 632.554 260.559 632.093 c 261.027 631.804 260.547 629.655
|
||||
259.492 627.323 c 257.395 622.687 256.992 619.573 258.484 619.573 c 259.879
|
||||
619.573 271.633 631.741 272.492 634.069 c 274.375 639.183 269.77 642.163
|
||||
265.789 638.409 c 263.043 635.819 264.242 633.862 267.5 635.612 c 270.496
|
||||
637.218 271.133 636.206 269.094 633.085 c 266.918 629.749 263.18 630.019
|
||||
262.684 633.542 c 262.496 634.882 261.68 636.991 260.871 638.23 c 259.566
|
||||
640.226 259.578 640.835 260.961 643.523 c 261.824 645.191 262.527 647.554
|
||||
262.527 648.769 c 262.527 650.909 262.59 650.921 264.5 649.191 c 265.586
|
||||
648.202 266.754 646.511 267.094 645.429 c 267.617 643.773 268.297 643.566
|
||||
271.367 644.109 c 273.375 644.468 276.207 645.612 277.656 646.659 c 280.102
|
||||
648.421 281.516 648.39 281.516 646.566 c 281.516 646.151 280.379 644.452
|
||||
278.992 642.796 c 277.355 640.847 276.852 639.546 277.555 639.112 c 279.039
|
||||
638.191 282.02 641.073 284.074 645.425 c 285.672 648.804 285.859 648.909
|
||||
287.145 647.148 c 289.727 643.601 288.723 641.331 282.492 636.651 c 279.207
|
||||
634.179 276.52 631.585 276.52 630.882 c 276.52 629.14 277.234 629.265 281.129
|
||||
631.679 c 282.973 632.823 284.887 633.503 285.391 633.191 c 285.91 632.87
|
||||
286.07 627.23 285.766 620.124 c 285.227 607.624 l 287.703 606.491 l 289.066
|
||||
605.866 290.965 604.019 291.93 602.386 c 293.543 599.64 293.555 599.23
|
||||
292.07 596.952 c 291.188 595.601 289.984 594.491 289.402 594.491 c 288.816
|
||||
594.491 285.883 597.089 282.875 600.261 c h
|
||||
273.02 608.37 m 273.02 610.183 271.062 609.855 270.676 607.972 c 270.461
|
||||
606.929 270.836 606.468 271.676 606.749 c 272.414 606.999 273.02 607.726
|
||||
273.02 608.37 c h
|
||||
282.852 607.202 m 283.219 607.569 282.781 608.691 281.883 609.687 c 280.688
|
||||
611.011 280.215 613.609 280.133 619.3 c 280.035 625.71 279.75 627.023 278.516
|
||||
626.687 c 277.691 626.46 276.098 626.202 274.969 626.116 c 271.961 625.882
|
||||
270.523 624.722 270.523 622.523 c 270.523 620.179 271.371 620.081 274.23
|
||||
622.089 c 276.879 623.952 277.211 623.409 277.312 617.042 c 277.441 609.073
|
||||
280.066 604.405 282.852 607.202 c h
|
||||
273.762 615.073 m 273.055 618.792 271.52 619.167 271.52 615.62 c 271.52
|
||||
613.698 272.031 612.55 272.883 612.55 c 273.797 612.55 274.086 613.378
|
||||
273.762 615.073 c h
|
||||
394.883 598.015 m 393.098 602.304 391.578 602.413 388.113 598.507 c 386.641
|
||||
596.851 384.613 595.495 383.605 595.495 c 381.195 595.495 378.461 598.601
|
||||
378.461 601.335 c 378.461 603.222 378.98 603.487 382.387 603.351 c 386.152
|
||||
603.206 391.453 605.589 391.453 607.433 c 391.453 607.905 390.789 608.847
|
||||
389.973 609.523 c 387.883 611.269 389.734 614.339 393.125 614.741 c 395.992
|
||||
615.081 397.672 617.566 395.035 617.566 c 393.027 617.566 392.965 619.448
|
||||
394.945 620.21 c 395.766 620.526 396.172 621.222 395.844 621.753 c 395.516
|
||||
622.284 394.617 622.476 393.852 622.179 c 392.133 621.519 389.453 622.46
|
||||
389.453 623.726 c 389.453 624.237 391.027 625.589 392.953 626.726 c 396.656
|
||||
628.921 397.723 631.148 394.59 630.151 c 393.52 629.808 392.199 630.202
|
||||
391.473 631.085 c 389.547 633.413 388.578 633.023 382.863 627.597 c 379.957
|
||||
624.839 376.715 622.581 375.656 622.581 c 372.305 622.581 368.316 626.507
|
||||
368.66 629.468 c 368.938 631.862 369.391 632.124 373.461 632.249 c 376.531
|
||||
632.343 380.18 633.566 384.957 636.101 c 394.23 641.026 394.789 641.616
|
||||
393.477 645.089 c 392.566 647.491 392.199 647.694 390.832 646.558 c 389.961
|
||||
645.831 388.855 644.202 388.375 642.937 c 387.219 639.886 383.684 639.886
|
||||
382.922 642.937 c 382.605 644.198 382.816 646.472 383.391 647.991 c 384.277
|
||||
650.327 384.734 650.589 386.379 649.706 c 387.66 649.019 389.188 648.991
|
||||
390.844 649.624 c 393.203 650.526 393.383 651.093 393.66 658.405 c 393.945
|
||||
666.054 394.008 666.226 396.637 666.53 c 400.406 666.968 403.234 662.734
|
||||
401.59 659.109 c 399.938 655.476 400.156 654.683 402.805 654.683 c 404.324
|
||||
654.683 406.367 656.109 408.551 658.691 c 410.863 661.421 412.75 662.698
|
||||
414.488 662.702 c 420.211 662.714 421.387 656.741 416.188 654.066 c 414.402
|
||||
653.148 412.633 651.917 412.258 651.331 c 410.691 648.894 412.91 648.859
|
||||
419.168 651.222 c 424.895 653.386 426.004 653.534 427.223 652.312 c 429.281
|
||||
650.245 427.848 646.894 424.637 646.273 c 423.152 645.987 418.617 645.484
|
||||
414.562 645.155 c 407.32 644.566 399.117 641.452 395.652 637.976 c 393.398
|
||||
635.714 395.266 634.98 398.512 636.851 c 401.117 638.351 402.941 637.671
|
||||
400.453 636.128 c 399.906 635.788 398.992 634.632 398.418 633.562 c 397.598
|
||||
632.019 397.703 631.609 398.922 631.609 c 399.77 631.609 401.816 633.816
|
||||
403.473 636.515 c 406.613 641.64 410.02 643.499 412.223 641.288 c 414.098
|
||||
639.405 412.746 636.929 409.156 635.671 c 405.512 634.398 401.445 630.839
|
||||
401.445 628.929 c 401.445 626.905 403.148 627.335 404.863 629.792 c 406.754
|
||||
632.499 408.355 631.3 406.609 628.491 c 405.914 627.378 405.605 625.655
|
||||
405.922 624.659 c 406.312 623.417 405.664 622.3 403.863 621.116 c 402.004
|
||||
619.894 401.543 619.073 402.297 618.316 c 403.051 617.562 403.785 617.605
|
||||
404.812 618.46 c 406.566 619.921 407.676 618.554 406.395 616.515 c 404.566
|
||||
613.62 405.332 612.726 409.191 613.241 c 412.043 613.624 413.598 613.222
|
||||
415.688 611.569 c 420.625 607.663 418.66 600.019 412.891 600.679 c 410.457
|
||||
600.956 409.883 601.534 409.605 603.991 c 409.246 607.144 405.945 612.55
|
||||
404.375 612.55 c 403.863 612.55 403.445 609.46 403.445 605.683 c 403.445
|
||||
598.589 402.5 596.714 398.145 595.159 c 396.754 594.663 396.004 595.319
|
||||
394.883 598.015 c h
|
||||
396.797 603.276 m 397.668 604.691 396.223 609.542 394.93 609.542 c 393.551
|
||||
609.542 391.23 604.077 392.199 603.105 c 393.039 602.261 396.246 602.382
|
||||
396.797 603.276 c h
|
||||
402.742 646.757 m 403.496 647.964 403.191 648.917 401.512 650.605 c 398.883
|
||||
653.245 398.91 653.265 398.02 648.335 c 397.379 644.776 397.492 644.519
|
||||
399.535 644.823 c 400.75 645.003 402.191 645.874 402.742 646.757 c h
|
||||
409.371 653.312 m 410.508 654.769 411.441 656.347 411.441 656.823 c 411.441
|
||||
658.632 408.605 657.593 407.059 655.218 c 403.922 650.417 405.852 648.823
|
||||
409.371 653.312 c h
|
||||
214.914 599.761 m 213.449 602.105 211.418 605.245 210.402 606.741 c 208.055
|
||||
610.202 208.074 610.874 210.492 609.577 c 213.383 608.023 216.555 608.3
|
||||
216.555 610.105 c 216.555 611.011 215.816 611.581 214.805 611.456 c 213.844
|
||||
611.335 212.344 611.554 211.477 611.937 c 210.609 612.319 208.68 612.167
|
||||
207.191 611.597 c 204.832 610.698 204.625 610.292 205.59 608.48 c 206.457
|
||||
606.855 206.352 605.859 205.105 603.956 c 202.848 600.495 200.562 600.796
|
||||
200.562 604.558 c 200.562 606.335 199.938 607.835 199.062 608.175 c 196.402
|
||||
609.198 192.527 607.558 191.555 604.999 c 190.48 602.155 188.414 601.812
|
||||
186.141 604.093 c 184.316 605.925 184.156 609.409 185.629 615.058 c 187.48
|
||||
622.14 187.406 622.038 189.418 620.21 c 191.863 617.987 192.836 618.148
|
||||
192.047 620.64 c 191.539 622.241 191.781 622.64 193.125 622.394 c 195.914
|
||||
621.886 195.902 624.284 193.109 624.987 c 189.305 625.948 190.039 628.273
|
||||
194.816 630.398 c 200.5 632.925 201.59 634.495 201.848 640.484 c 202.078
|
||||
645.937 200.887 648.109 198.23 647.085 c 196.191 646.3 196.109 644.968
|
||||
197.973 643.093 c 200.273 640.784 198.648 637.792 193.09 634.089 c 187.453
|
||||
630.335 186.836 630.151 184.598 631.573 c 183.406 632.331 183.977 633.308
|
||||
187.598 636.706 c 191.922 640.769 191.949 642.991 187.645 640.679 c 184.664
|
||||
639.077 180.711 640.468 179.043 643.71 c 177.273 647.14 178.188 647.987
|
||||
184.07 648.378 c 187.996 648.64 202.82 655.359 209.664 659.976 c 223.113
|
||||
669.05 230.449 670.456 230.531 663.98 c 230.551 662.155 220.797 657.48
|
||||
218.496 658.21 c 216.395 658.882 205.637 652.972 205.586 651.12 c 205.555
|
||||
649.89 207.598 647.659 208.758 647.659 c 209.195 647.659 209.559 648.737
|
||||
209.559 650.05 c 209.559 651.683 210.27 652.636 211.805 653.046 c 218.297
|
||||
654.792 222.848 652.425 221.922 647.776 c 221.543 645.874 221.988 644.562
|
||||
223.469 643.218 c 225.973 640.944 226.035 639.921 223.934 635.691 c 222.16
|
||||
632.12 221.879 627.03 222.48 609.202 c 222.801 599.722 222.598 597.144
|
||||
221.469 596.425 c 218.898 594.792 217.609 595.448 214.914 599.761 c h
|
||||
193.641 610.819 m 193.516 612.019 192.148 611.788 191.719 610.495 c 191.496
|
||||
609.831 191.855 609.472 192.516 609.691 c 193.176 609.913 193.684 610.421
|
||||
193.641 610.819 c h
|
||||
207.059 616.562 m 206.574 617.347 206 617.405 205.332 616.737 c 204.785
|
||||
616.187 204.66 615.206 205.059 614.558 c 205.543 613.773 206.117 613.714
|
||||
206.785 614.382 c 207.332 614.933 207.457 615.913 207.059 616.562 c h
|
||||
197.02 615.491 m 198.043 617.148 195.918 617.546 193.965 616.062 c 192.129
|
||||
614.667 192.141 614.62 194.258 614.589 c 195.461 614.569 196.707 614.976
|
||||
197.02 615.491 c h
|
||||
216.555 618.511 m 216.555 620.132 216.102 621.737 215.555 622.081 c 214.957
|
||||
622.448 214.555 621.253 214.555 619.128 c 214.555 617.167 215.004 615.558
|
||||
215.555 615.558 c 216.102 615.558 216.555 616.886 216.555 618.511 c h
|
||||
200.637 620.851 m 200.512 622.05 199.141 621.819 198.715 620.526 c 198.492
|
||||
619.862 198.852 619.503 199.512 619.722 c 200.172 619.944 200.68 620.452
|
||||
200.637 620.851 c h
|
||||
211.555 621.577 m 211.555 623.913 211.547 623.913 207.906 622.523 c 205.68
|
||||
621.675 205.418 621.276 206.594 620.534 c 209.141 618.917 211.555 619.425
|
||||
211.555 621.577 c h
|
||||
201.562 625.53 m 201.562 626.05 201.113 626.753 200.562 627.097 c 200.012
|
||||
627.437 199.562 627.011 199.562 626.151 c 199.562 625.292 200.012 624.589
|
||||
200.562 624.589 c 201.113 624.589 201.562 625.011 201.562 625.53 c h
|
||||
207.559 626.593 m 207.559 627.148 207.109 627.597 206.559 627.597 c 206.008
|
||||
627.597 205.559 627.148 205.559 626.593 c 205.559 626.042 206.008 625.593
|
||||
206.559 625.593 c 207.109 625.593 207.559 626.042 207.559 626.593 c h
|
||||
216.555 628.683 m 216.555 631.128 214.219 630.784 213.73 628.265 c 213.539
|
||||
627.276 214.051 626.593 214.98 626.593 c 215.906 626.593 216.555 627.452
|
||||
216.555 628.683 c h
|
||||
211.555 631.609 m 211.555 632.163 210.656 632.612 209.559 632.612 c 208.457
|
||||
632.612 207.559 632.163 207.559 631.609 c 207.559 631.058 208.457 630.609
|
||||
209.559 630.609 c 210.656 630.609 211.555 631.058 211.555 631.609 c h
|
||||
217.051 635.12 m 217.051 637.28 215.621 637.956 213.668 636.714 c 212.484
|
||||
635.964 212.484 635.605 213.668 634.265 c 215.406 632.296 217.051 632.71
|
||||
217.051 635.12 c h
|
||||
212.828 640.71 m 217.453 644.538 217.516 645.655 213.113 645.655 c 209.266
|
||||
645.655 209.074 645.472 208.098 640.89 c 207.23 636.835 208.102 636.804
|
||||
212.828 640.71 c h
|
||||
128.227 600.8 m 127.195 601.558 126.262 603.929 125.957 606.566 c 125.109
|
||||
613.921 125.109 613.921 118.793 609.253 c 109.316 602.253 98.121 600.542
|
||||
98.121 606.093 c 98.121 607.441 99.188 608.167 102.031 608.761 c 112.367
|
||||
610.917 125.305 623.241 132.859 638.132 c 138.129 648.515 140.203 653.585
|
||||
141.551 659.37 c 142.934 665.308 144.477 666.409 147.484 663.597 c 148.641
|
||||
662.515 149.59 661.53 149.59 661.409 c 149.59 661.288 150.004 659.753 150.504
|
||||
657.991 c 151.281 655.28 151.051 654.37 148.98 651.98 c 144.109 646.359
|
||||
144.684 643.757 152.543 635.788 c 155.344 632.948 157.535 631.605 159.375
|
||||
631.593 c 165.98 631.558 166.078 627.913 159.559 624.573 c 152.633 621.026
|
||||
150.691 621.933 147.234 630.316 c 145.594 634.292 143.684 637.765 142.988
|
||||
638.034 c 141.922 638.444 136.598 631.062 136.598 629.175 c 136.598 628.136
|
||||
140.172 628.577 141.355 629.761 c 142.23 630.64 142.883 630.612 144.051
|
||||
629.64 c 146.699 627.433 145.762 625.593 140.93 623.511 c 137.234 621.925
|
||||
136.094 621.773 135.461 622.796 c 134.402 624.495 132.02 623.007 129.785
|
||||
619.257 c 128.18 616.558 128.195 616.362 130.098 614.952 c 131.898 613.616
|
||||
132.176 613.671 132.996 615.523 c 133.5 616.655 134.855 617.566 136.039
|
||||
617.566 c 137.215 617.566 139.926 618.464 142.07 619.558 c 145.691 621.413
|
||||
146.094 621.437 147.777 619.905 c 150.16 617.741 150.082 614.421 147.594
|
||||
612.28 c 145.211 610.234 145.055 608.96 147.094 608.175 c 148.988 607.444
|
||||
149.023 604.816 147.164 602.948 c 145.359 601.136 135.992 600.995 135.223
|
||||
602.769 c 134.848 603.628 134.156 603.316 133.016 601.765 c 131.094 599.151
|
||||
130.609 599.05 128.227 600.8 c h
|
||||
137.023 608.066 m 138.883 610.909 138.379 612.55 135.648 612.55 c 133.48
|
||||
612.55 132.523 610.558 133.285 607.632 c 134.008 604.862 135.012 604.976
|
||||
137.023 608.066 c h
|
||||
439.98 602.456 m 437.832 604.839 438.777 606.734 441.746 605.984 c 444.188
|
||||
605.37 450.902 607.831 453.773 610.394 c 455.973 612.359 459.414 618.847
|
||||
459.414 621.038 c 459.414 621.886 458.898 622.581 458.266 622.581 c 456.938
|
||||
622.581 446.797 615.98 445.906 614.53 c 444.969 613.007 440.812 613.382
|
||||
439.375 615.116 c 438.465 616.218 438.355 617.452 439.004 619.276 c 440.008
|
||||
622.105 440.91 622.71 446.922 624.589 c 452.84 626.441 458.934 629.319
|
||||
460.223 630.878 c 461.512 632.437 463.242 651.933 462.715 658.964 c 462.426
|
||||
662.823 462.715 663.804 464.395 664.706 c 466.066 665.605 466.859 665.355
|
||||
468.914 663.296 c 471.898 660.3 472.152 655.714 469.926 645.151 c 467.488
|
||||
633.605 467.926 632.933 475.637 636.347 c 478.484 637.609 479.691 638.831
|
||||
480.098 640.862 c 480.762 644.21 480.73 644.206 484.438 641.452 c 489.152
|
||||
637.956 488.227 633.753 482.398 632.187 c 474.547 630.077 466.41 626.163
|
||||
466.41 624.495 c 466.41 623.519 467.297 622.433 468.379 622.089 c 469.465
|
||||
621.745 471.961 619.573 473.934 617.261 c 478.641 611.741 480.852 610.62
|
||||
487.148 610.581 c 490.035 610.558 492.395 610.148 492.395 609.663 c 492.395
|
||||
609.183 490.648 606.925 488.512 604.648 c 481.785 597.48 478.121 599.12
|
||||
471.395 612.335 c 469.086 616.866 466.902 620.573 466.539 620.573 c 466.176
|
||||
620.573 465.102 618.378 464.152 615.691 c 462.457 610.905 455.445 602.851
|
||||
451.664 601.347 c 447.969 599.878 441.773 600.464 439.98 602.456 c h
|
||||
312.055 609.765 m 310.184 612.444 310.016 616.487 311.75 616.987 c 312.434
|
||||
617.187 315.617 617.929 318.82 618.64 c 324.414 619.878 324.938 620.28
|
||||
332.062 628.757 c 340.41 638.687 342.074 643.023 335.305 637.206 c 330.438
|
||||
633.023 327.645 632.718 323.895 635.952 c 321.719 637.831 321.324 638.819
|
||||
321.867 640.999 c 322.516 643.589 322.758 643.683 327.266 643.081 c 331.402
|
||||
642.534 332.836 642.901 338.875 646.062 c 347.543 650.601 349.062 650.609
|
||||
351.191 646.128 c 352.871 642.589 l 345.676 635.319 l 338.238 627.804 336.664
|
||||
624.886 340.73 626.159 c 341.969 626.546 343.867 627.48 344.953 628.234
|
||||
c 347.512 630.015 348.977 629.964 350.902 628.03 c 353.52 625.401 351.297
|
||||
622.948 345.621 622.194 c 342.91 621.831 340.176 620.913 339.547 620.151
|
||||
c 338.918 619.39 337.34 618.499 336.039 618.171 c 334.742 617.843 331.656
|
||||
615.316 329.184 612.554 c 324.812 607.675 324.527 607.534 319.148 607.534
|
||||
c 314.559 607.534 313.344 607.917 312.055 609.765 c h
|
||||
505.375 617.816 m 504.285 619.609 503.395 621.851 503.391 622.8 c 503.391
|
||||
624.331 511.609 634.667 513.422 635.413 c 514.961 636.046 515.297 632.331
|
||||
513.883 630.304 c 511.719 627.202 512.027 626.288 514.98 627.03 c 516.406
|
||||
627.39 517.395 627.327 517.176 626.89 c 516.953 626.452 516.004 624.398
|
||||
515.062 622.323 c 512.961 617.694 510.367 614.558 508.648 614.558 c 507.938
|
||||
614.558 506.465 616.023 505.375 617.816 c h
|
||||
103.352 622.866 m 102.25 624.558 101.918 627.546 102.094 634.269 c 102.43
|
||||
647.069 103.199 647.917 109 641.921 c 111.391 639.452 112.613 637.245 112.613
|
||||
635.401 c 112.613 631.862 113.738 631.855 115.438 635.378 c 117.777 640.23
|
||||
117.848 640.636 116.371 640.636 c 114.98 640.636 110.859 644.405 111.703
|
||||
644.905 c 115.488 647.163 122.918 650.667 123.918 650.667 c 125.789 650.667
|
||||
130.602 645.37 130.602 643.312 c 130.602 642.359 129.012 640.179 127.07
|
||||
638.468 c 123.73 635.523 123.629 635.253 125.211 633.499 c 126.543 632.019
|
||||
126.637 631.351 125.664 630.175 c 123.93 628.077 117.938 626.292 115.059
|
||||
627.019 c 113.609 627.382 112.613 627.198 112.613 626.566 c 112.613 624.995
|
||||
107.938 620.573 106.277 620.573 c 105.492 620.573 104.176 621.605 103.352
|
||||
622.866 c h
|
||||
269.172 648.128 m 267.156 649.659 267.727 651.675 270.18 651.675 c 272.613
|
||||
651.675 278.656 654.737 283.016 658.183 c 288.625 662.62 289.121 662.843
|
||||
291.84 662.159 c 294.371 661.523 296.98 657.269 295.91 655.526 c 295.129
|
||||
654.257 286.891 650.671 284.758 650.671 c 283.484 650.671 283.617 651.151
|
||||
285.414 653.073 c 288.715 656.597 286.133 657.456 282.641 653.995 c 278.672
|
||||
650.066 273.848 646.651 272.312 646.691 c 271.602 646.706 270.188 647.355
|
||||
269.172 648.128 c h
|
||||
276.227 660.691 m 276.555 661.956 276.156 662.909 275.133 663.304 c 272.043
|
||||
664.495 273.32 667.347 277.512 668.609 c 285.633 671.05 288.781 665.093
|
||||
281.559 660.952 c 276.715 658.175 275.555 658.116 276.227 660.691 c h
|
||||
276.227 660.691 m f
|
||||
Q Q
|
||||
showpage
|
||||
%%Trailer
|
||||
end restore
|
||||
%%EOF
|
||||
@@ -0,0 +1,10 @@
|
||||
# vim: set ft=perl:
|
||||
@default_files = ('report.tex');
|
||||
|
||||
$pdf_mode = 1;
|
||||
$bibtex_use = 2;
|
||||
$recorder = 1;
|
||||
$preview_continuous_mode = 1;
|
||||
$clean_ext = "synctex.gz acn acr alg aux bbl bcf blg brf fdb_latexmk glg glo gls idx ilg ind lof log lot out run.xml toc pdf thm toe ist idx";
|
||||
$pdflatex = "xelatex -file-line-error --shell-escape -src-specials -synctex=1 -interaction=nonstopmode %O %S";
|
||||
$pdf_update_method = 0;
|
||||
+1141
File diff suppressed because it is too large
Load Diff
+46
@@ -0,0 +1,46 @@
|
||||
% !Mode:: "TeX:UTF-8"
|
||||
|
||||
\documentclass[fontset=fandol,toc=true,type=doctor,stage=opening,campus=harbin]{hithesisart}
|
||||
% 此处选项中不要有空格
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% 必填选项
|
||||
% type=doctor|master|bachelor
|
||||
% stage=opening|midterm
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% 选填选项(选填选项的缺省值已经尽可能满足了大多数需求,除非明确知道自己有什么
|
||||
% 需求)
|
||||
% campus=shenzhen|weihai|harbin
|
||||
% 含义:校区选项,默认harbin
|
||||
% fontset=windows|mac|ubuntu|fandol
|
||||
% 含义:前三个对应各自系统,fandol是开源字体。
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\setlength{\parindent}{2\ccwd}
|
||||
\usepackage{indentfirst}
|
||||
\usepackage{float}
|
||||
\usepackage{paralist}
|
||||
\usepackage{caption}
|
||||
\usepackage{subfigure}
|
||||
|
||||
\let\itemize\compactitem
|
||||
\let\enditemize\endcompactitem
|
||||
\let\enumerate\compactenum
|
||||
\let\endenumerate\endcompactenum
|
||||
\let\description\compactdesc
|
||||
\let\enddescription\endcompactdesc
|
||||
|
||||
\graphicspath{{figures/}}
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\input{front/coverart.tex}
|
||||
\makecover
|
||||
|
||||
\input{body/body}
|
||||
|
||||
\end{document}
|
||||
|
||||
% Local Variables:
|
||||
% TeX-engine: xetex
|
||||
% End:
|
||||
Reference in New Issue
Block a user