D题论文 深圳杯数学建模.docx
- 文档编号:8000882
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:51
- 大小:109.17KB
D题论文 深圳杯数学建模.docx
《D题论文 深圳杯数学建模.docx》由会员分享,可在线阅读,更多相关《D题论文 深圳杯数学建模.docx(51页珍藏版)》请在冰豆网上搜索。
D题论文深圳杯数学建模
封一
答卷编号(参赛学校填写):
答卷编号(竞赛组委会填写):
论文题目:
(标明A、B、C、D之一)
D
组别:
(填写研究生、本科生、专科生或中学生)
本科生
参赛队员信息(必填):
姓名
学号
联系电话
参赛队员1
参赛队员2
参赛队员3
参赛学校:
黑龙江工程学院
封二
答卷编号(参赛学校填写):
答卷编号(竞赛组委会填写):
评阅情况(学校评阅专家填写):
学校评阅1.
学校评阅2.
学校评阅3.
评阅情况(联赛评阅专家填写):
联赛评阅1.
联赛评阅2.
联赛评阅3.
打孔机生产效能的提高
摘要
在现代电子设备中印刷电路板占有重要地位,是集成各种电子元器件的信息载体,在各个领域得到了广泛的应用。
近年来,随着电子、信息、通讯等产业的蓬勃发展,使得对印刷电路板的需求快速增加,更带动了印刷电路板产业的加速成长。
然而,印刷电路板制造过程相当繁琐、耗时,并且制造过程中常会出现不确定性的变异,进而影响制造时间,制作成本及产品质量,甚至延误交货期。
而现有的打孔机的操作系统虽然具有自动生成钻孔NC程序的功能,但是其生成的走刀路径并没有足够优化,这样会影响打孔机的生产效率,对于大批量生产的厂商来说,其影响相当明显从而造成制造商的损失。
鉴于钻孔作业在印制电路板的制造过程中耗费时间最长、制造过程变异最多。
因此,钻孔作业常常成为整个印制电路板的生产瓶颈。
本次研究以印刷电路板制作过程中的生产效能即打孔机钻孔的作业线路作为研究对象,经过对本问题的深入研究,利用遗传算法可以快速得出最优方案。
但鉴于求解过程中涉及大量计算,而遗传算法在大规模计算中很容易陷入“早熟”,即遗传算法在计算过程中会过早的收敛于局部最优解,从而使得结果的误差偏大。
鉴于遗传算法可扩展性强,容易与其他算法结合利用的优点,并采用1stOpt软件及其所开发的最大继承法最终得出多目标并行的打孔机钻头的最优作业线路(包括刀具转换方案),进而提高打孔机的生产效能,达到生产线平衡、提升整体产量和质量。
(针对问题一,针对问题二,写具体的解决方案,不要泛泛的说!
把你以上说的东西拿到模型的优缺点中去!
)
关键字:
遗传算法、1stOpt、最大继承法(再加两个)
一、问题重述
1、问题背景
在现代电子设备中印刷电路板占有重要的地位,是集成各种电子元器件的信息载体,在各个领域得到了广泛的应用。
随着技术的不断发展和工业的持续进步,使得对印刷电路板的需求快速增加。
打孔机主要用于在制造印刷线路板流程中的打孔作业。
所以提高某类打孔机的生产效能成为生产厂商增加利润的主要途径。
根据打孔机打孔作业原理,通过改善钻头的作业线路(包括刀具转换方案)可以提高印刷线路板的生产效能。
附件1和表1提供了该块线路板的各孔的分布和十种孔型所需的加工刀具和加工次序。
2、问题提出
(1)在单钻头作业条件下,根据该块线路板的各孔的分布和十种孔型所需的加工刀具和加工次序,给出最优作业线路(包括道具转换方案),并且求出单钻头在最优作业线路下的行进时间和作业成本。
(2)在两个钻头同时作业时(各自的作业孤立),两钻头间距不小于3cm的条件下给出双钻头作业时的最优作业线路、行进时间和作业成本,并与传统单钻头打孔机进行比较,其生产效能提高多少,并研究打孔机的两钻头合作间距对作业路线和生产效能产生的影响。
二、问题的分析
问题一
针对打孔机单钻头作业,其最优作业线路是由印刷线路板上各孔型的分布及其所需加工刀具和加工次序所决定。
1stOpt软件在基于遗传算法上开发的最大继承法可以更好的应用于组合优化问题,综合钻头的作业线路,为了简化模型,将该块印刷电路板上的所有孔划分为若干个区域,这样就可以针对每一个区域,都是相同孔的点,这样就可以在钻头作业时只需考虑路径最短,进而可归结为旅行商问题(TSP问题),最终可得出各区域的最优作业线路,然后对各个区域间的路径进行分析并结合刀具转换方案,最终可以得到单孔作业的最优作业线路。
而在印刷线路板上的孔共有n个,每个孔都可以用l,2,3…n中唯一的编号表示。
假设钻头按照2,5,7。
4,3,6,8,9,1顺序进行加工,则这条走刀路径就可以被表示为(2,5,7。
4,3,6,8,9,1)。
最终的钻头作业线路就可以用孔的编号进行表示。
问题二
鉴于两个钻头单独工作并且钻头间距离不得小于3cm的条件,应利用
用直线划分的方案,将整块的印刷电路板分为三个区域,中间区域宽度略大于合作间距。
两个钻头分别负责左右两个区域,中间区域最后加工。
进而求解最优作业线路、行进时间和作业成本。
3.符号说明与模型假设
1.符号说明(这一块整体东西少,再加东西)
n:
各区域内孔的个数
Xi:
第i个孔的横坐标
Yi:
第i个孔的纵坐标
Xj:
第j个孔的横坐标
Yj:
第j个孔的横坐标
根据附件1中给定的孔的坐标顺序,把所有的孔从先至后按从1到2124的顺序依次进行编号
2.模型假设
1.为了问题简化,假设打孔机钻头从一个孔移动到下一个孔,其路径就是两点之间的连线。
2.假设打孔机钻头加工单个孔的成功率为百分之百。
3.假设打孔机在作业过程中,不会出现机器停止运转的情况。
四.问题求解
问题
(1)
将附件1给出的某块印刷电路板上所有孔的坐标及孔型将孔进行划分,划分原则为相同孔型划分为一个区域,考虑到1stOpt软件的字符上限,每个区域最多的孔数目为220。
则可划分为以下区域
划分区域
孔的编号
孔型
一
1~200
A
二
221~440
三
441~660
四
661~860
B
五
861~1060
六
1061~1260
七
1261~1448
八
1449~1648
C
九
1649~1718
十
1719~1930
D
十一
1931~2025
E
十二
2026~2059
F
十三
2060~2079
G
十四
2080~2085
H
十五
2086~2095
I
十六
2096~2124
J
第一个区域是编号1~220的孔,第二个区域是编号221~440的孔,第三个区域是编号441~660的孔。
在第一个区域内,因为A型孔只需用刀具a加工,那么,钻头的最优作业线路只需满足路径最短即可,不必考虑刀具转换问题。
那么这就可以归结为旅行商问题(TSP问题)。
即有N个孔,从某一孔出发,每个孔访问一次,最后回到起始孔,试求最短距离的访问路线。
(这些原理所用的数学表达式写上,整篇论文没有什么数学表达式,给人直观印象不好)那么就可以利用旅行商问题的算法的解决钻头作业线路最短问题,结合1stOpt软件及其所开发的最大继承法,通过编辑程序代码和参数设置,就可以得出最优作业线路,具体如下:
程序代码:
NewDivision;
//33894.4590130411
Constantn=220;//numberofholes
Constant
xData(0:
n-1)=
[100,-10000,-100200,-100200,-100200,-101324,-101324,-101324,-101324,-101324,
-101324,-101324,-101324,-101324,-101324,-101400,-101400,10200,102000,102000,
102000,102000,102000,102000,102000,102000,102000,102000,102000,102000,
102000,102000,102000,102000,-103200,103400,103400,103600,103600,103600,
103600,103600,103600,103600,103600,103600,103600,103600,103600,103600,
103600,103600,-10400,-104474,-104474,-104474,-104474,-104474,-104474,-104474,
-104474,-104474,-104474,-10474,-104800,-105000,-107000,-107000,-107600,-107623,
-107623,-107623,-107623,-107623,-107623,-107623,-107623,-107623,-107623,-107623,
-107700,-107700,-108800,-109000,11000,-11000,-110688,-110700,-110773,-110773,
-110733,-110773,-110773,-110773,-110773,-110800,-110800,-111000,-112000,-113000,
-113922,-113922,-113922,-113922,-113922,-113922,-113922,-113922,-113922,-113922,
114000,114000,114000,114000,114000,114000,114000,114000,114000,114000,
114000,114000,114000,114000,-115000,-11600,116000,116000,116000,116000,
116000,116000,116000,116000,116000,116000,116000,116000,116000,116000,
-116800,-117000,-117072,-117072,-117072,-117072,-117072,-117072,-117072,-117072,
-117072,-117072,-117072,-118800,1200,-120200,-120200,-120222,-120222,-120222,
-120222,-120222,-120222,-120222,-120222,-120222,-120222,-120222,-120222,-120222,
-120530,-120800,-121400,-121400,-122000,-122600,-122800,-123371,-123371,-123371,
-12400,-12400,-12400,12400,12400,-124467,-124800,-126400,-126521,-126521,
-126521,-126521,-126521,-126521,-126521,-126521,-126521,-126521,-126521,-126800,
12800,12800,-128800,-129600,-129670,-129670,-129670,-129670,-129670,-129670,
-129670,-129670,-129670,-129670,-129670,-129670,-129670,-129670,-130600,13200];
Constant
yData(0:
n-1)=
[243600,301000,246000,322400,122800,265174,268324,271474,274623,277773,
284072,287222,293521,296670,299820,306200,315600,242600,246000,269600,
297200,301200,305000,309000,312800,316800,320800,324800,328600,332600,
336400,340400,344400,348400,121200,247800,271600,295200,299200,303000,
307000,311000,314800,318800,322800,326600,330600,334400,338400,342400,
346200,350200,318600,265174,271474,274623,280922,287222,293521,296670,
299820,306119,309269,312418,233400,122800,121200,383400,312400,265174,
268324,271500,274623,277773,281000,287222,296670,299820,306119,309269,
284000,293500,248000,122800,123000,267000,246000,271500,265174,268324,
274623,293521,296670,299820,309269,290200,306000,121200,518600,122800,
268324,284072,287222,293521,296670,299820,302970,306119,309269,312418,
137600,141600,145600,149400,153400,157200,161400,169200,173200,177000,
181000,185000,188800,192800,121200,320600,135800,139600,143600,147600,
151400,155400,159400,167200,171200,175000,179000,183000,187000,190800,
122800,268400,271474,277773,284072,287222,293521,296670,299820,302970,
306119,309269,312418,121200,111600,274500,281000,262025,268324,271474,
277773,284072,287222,293521,296670,299820,302970,306119,309269,312418,
246000,122800,109000,99200,515200,248000,121200,268324,309269,312418,
211200,223200,251600,400800,403000,246000,122800,248000,274623,280922,
284072,287222,293521,296670,299820,302970,306119,309269,312418,121200,
221600,250800,122800,265200,268324,271474,274623,277773,280922,284072,
287222,293521,296670,299820,302970,306119,309269,312418,121200,123000];
ParameterHoles(0:
n-1)[0,n-1];
Minimum=True;
Exclusive=True;
StartProgram;
VarTemSum:
Double;
i:
integer;
Begin
TemSum:
=0;
fori:
=0ton-2do
TemSum:
=temSum+sqrt(sqr(xData[Holes[i+1]]-xData[Holes[i]])+
sqr(yData[Holes[i+1]]-yData[Holes[i]]));
FunctionResult:
=temSum+sqrt(sqr(xData[Holes[n-1]]-xData[Holes[0]])+
sqr(yData[Holes[n-1]]-yData[Holes[0]]));
end;
EndProgram
参数设置:
打孔顺序
1
2
3
4
5
6
7
8
9
10
孔编号
136
120
137
121
138
122
139
123
140
124
打孔顺序
11
12
13
14
15
16
17
18
19
20
孔编号
19
36
20
37
38
39
40
42
25
43
打孔顺序
21
22
23
24
25
26
27
28
29
30
孔编号
26
44
27
45
48
49
32
31
30
29
打孔顺序
31
32
33
34
35
36
37
38
39
40
孔编号
28
46
47
50
33
51
34
52
184
185
打孔顺序
41
42
43
44
45
46
47
48
49
50
孔编号
99
175
68
4
17
64
69
80
63
16
打孔顺序
51
52
53
54
55
56
57
58
59
60
孔编号
15
14
13
12
11
58
59
60
77
82
打孔顺序
61
62
63
64
65
66
67
68
69
70
孔编号
76
81
75
74
72
88
143
156
160
159
打孔顺序
71
72
73
74
75
76
77
78
79
80
孔编号
142
101
90
158
188
186
176
171
3
1
打孔顺序
81
82
83
84
85
86
87
88
89
90
孔编号
18
202
183
86
2
53
126
24
41
23
打孔顺序
91
92
93
94
95
96
97
98
99
100
孔编号
22
21
201
181
182
6
71
190
191
194
打孔顺序
101
102
103
104
105
106
107
108
109
110
孔编号
195
196
197
216
215
214
213
212
193
147
打孔顺序
111
112
113
114
115
116
117
118
119
120
孔编号
148
149
106
107
95
109
110
153
170
169
打孔顺序
121
122
123
124
125
126
127
128
129
130
孔编号
168
167
166
165
164
163
162
157
161
144
打孔顺序
131
132
133
134
135
136
137
138
139
140
孔编号
91
73
56
55
7
8
9
10
57
61
打孔顺序
141
142
143
144
145
146
147
148
149
150
孔编号
62
79
97
108
151
152
179
180
199
218
打孔顺序
151
152
153
154
155
156
157
158
159
160
孔编号
217
198
150
94
78
93
105
104
92
96
打孔顺序
161
162
163
164
165
166
167
168
169
170
孔编号
103
102
145
146
192
211
210
209
208
189
打孔顺序
171
172
173
174
175
176
177
178
179
180
孔编号
207
206
205
204
178
89
70
54
83
87
打孔顺序
181
182
183
184
185
186
187
188
189
190
孔编号
65
84
98
100
125
141
154
172
177
187
打孔顺序
191
192
193
194
195
196
197
198
199
200
孔编号
200
203
219
173
174
67
66
35
5
155
打孔顺序
201
202
203
204
205
206
207
208
209
210
孔编号
85
220
111
127
128
112
129
113
130
114
打孔顺序
211
212
213
214
215
216
217
218
219
220
孔编号
131
115
132
116
133
117
134
118
135
119
则在A型孔的第一段区域内,打孔机钻头最优作业线路为:
因为A孔型只需一种刀具加工,所以不涉及刀具转换。
钻头在该区域内的作业成本只包括行进成本。
孔编号(1~220)
作业成本P1(元)
作业时间为T1(秒)
3583.48
331.80
经过深入分析只需一种刀具加工的孔型所在区域均可以利用第一个区域求解最优作业线路的算法,求出钻头的最优作业线路。
每个区域内不涉及刀具转换问题,这些区域包括区域二,区域三,区域四,区域五,区域六,区域七,区域十四,通过1stOpt软件及其所开发的最大继承法即可算出每个区域内钻头的最佳作业线路,行进成本及作业时间。
具体结果见附件一。
对于需要两个或两个以上刀具加工的孔型,最优作业线路取决于钻头路径与刀具转换。
鉴于上述,采钻头优先加工完毕作业孔,再继续加工下一个孔,以此类推,按照此方案实现加工区域内所有的孔。
对于区域十三,就可利用上述方案求解钻头作业的最优作业线路(刀具转换方案),行进时间和作业成本。
当加工完一个孔时在加工下一个空。
对于相同孔型的孔,加工每个孔时道具的的转换次数为4,并且每次加工完毕一个孔时,向下一个孔移动,中间转换的刀具次数为2。
并且每个孔都是遵循上述的刀具转换数量。
根据下列公式:
a1
a2
a3
n
(|a1-a2|+|a2-a3|)×n+|a3-a1|×(n-1)|a1-a2|≤4,|a2-a3|≤4,|a3-a1|≤4
(8-|a1-a2|+|a2-a3|)×n+|a3-a1|×(n-1)|a1-a2|>4,|a2-a3|≤4,|a3-a1|≤4
(8+|a1-a2|-|a2-a3|)×n+|a3-a1|×(n-1)|a1-a2|≤4,|a2-a3|>4,|a3-a1|≤4
(|a1-a2|+|a2-a3|)×n+(8-|a3-a1|)×(n-1)|a1-a2|≤4,|a2-a3|≤4,|a3-a1|>4
(16-|a1-a2|-|a2-a3|)×n+|a3-a1|×(n-1)|a1-a2|>4,|a2-a3|>4,|a3-a1|≤4
(8-|a1-a2|+|a2-a3|)×n+(8-|
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- D题论文 深圳杯数学建模 论文 深圳 数学 建模