船体零件自动排料及优化问题的研究
| 摘要 | 第5-7页 |
| ABSTRACT | 第7-8页 |
| 第一章 绪论 | 第14-22页 |
| 1.1 选题背景及意义 | 第14-15页 |
| 1.2 自动排料问题的研究历史和现状 | 第15-21页 |
| 1.2.1 排料和自动排料的定义 | 第15-16页 |
| 1.2.2 国外研究情况 | 第16-19页 |
| 1.2.3 国内研究情况 | 第19-21页 |
| 1.3 本文主要的研究内容 | 第21-22页 |
| 第二章 排料优化问题的提出和几种解决方案 | 第22-40页 |
| 2.1 排料优化问题属于NP 完全问题 | 第22-26页 |
| 2.1.1 计算复杂性问题 | 第22页 |
| 2.1.2 NP 完全问题的引入 | 第22-24页 |
| 2.1.3 解决 NP 完全问题的思路 | 第24-25页 |
| 2.1.4 排料的实质问题 | 第25-26页 |
| 2.1.5 排料优化问题属于 NP 完全问题 | 第26页 |
| 2.2 解决最优化问题的传统方法 | 第26-39页 |
| 2.2.1 动态规划算法 | 第26-30页 |
| 2.2.2 模拟退火算法 | 第30-34页 |
| 2.2.3 遗传算法 | 第34-39页 |
| 2.3 本章小节 | 第39-40页 |
| 第三章 基于数据库的船体零件自动排料系统的开发 | 第40-64页 |
| 3.1 FINEST 自动排料计算模块介绍 | 第40页 |
| 3.2 自动排料系统设计的总体思想 | 第40-42页 |
| 3.3 系统中所用基本理论简介 | 第42-47页 |
| 3.3.1 面向对象的编程 | 第42-44页 |
| 3.3.2 DXF 文件的结构 | 第44-47页 |
| 3.4 排料系统的功能模块 | 第47-63页 |
| 3.4.1 数据输入 | 第49-61页 |
| 3.4.2 排料计算 | 第61-62页 |
| 3.4.3 结果输出 | 第62-63页 |
| 3.5 本章小结 | 第63-64页 |
| 第四章 排料系统的计算实例 | 第64-78页 |
| 4.1 排料计算的结果显示 | 第64-77页 |
| 4.2 计算结果分析 | 第77页 |
| 4.3 结论 | 第77页 |
| 4.4 本章小结 | 第77-78页 |
| 第五章 自动排料及优化算法的研究 | 第78-105页 |
| 5.1 零件图形轮廓的处理 | 第78-90页 |
| 5.1.1 轮廓信息的数据表示 | 第78-81页 |
| 5.1.2 轮廓方向的判定 | 第81-82页 |
| 5.1.3 轮廓方向的转换 | 第82页 |
| 5.1.4 轮廓面积的计算 | 第82-83页 |
| 5.1.5 轮廓的多边形近似 | 第83-84页 |
| 5.1.6 求出轮廓的最大和最小坐标 | 第84-85页 |
| 5.1.7 轮廓的平移、旋转和翻转 | 第85-86页 |
| 5.1.8 排料计算时的实际轮廓 | 第86-90页 |
| 5.2 零件的表示 | 第90-93页 |
| 5.2.1 零件轮廓信息初始化 | 第91页 |
| 5.2.2 求零件轮廓上的最大和最小坐标 | 第91-92页 |
| 5.2.3 零件的平移、旋转和翻转 | 第92页 |
| 5.2.4 求零件的最小包络矩形 | 第92-93页 |
| 5.3 零件重叠检测 | 第93-96页 |
| 5.3.1 包围盒测试法 | 第93页 |
| 5.3.2 点在线段上的判定 | 第93-94页 |
| 5.3.3 两条线段相交的判定 | 第94页 |
| 5.3.4 点是否在轮廓内部的判定 | 第94-95页 |
| 5.3.5 线段和多边形相交的判定 | 第95页 |
| 5.3.6 多边形相交的判定 | 第95页 |
| 5.3.7 零件重叠的判定 | 第95-96页 |
| 5.3.8 零件是否在多边形内部的判定 | 第96页 |
| 5.4 自动排料的实现 | 第96-104页 |
| 5.4.1 BL 策略 | 第96-97页 |
| 5.4.2 基于 BL 策略的遗传模拟退火算法 | 第97-101页 |
| 5.4.3 自动排料的结果 | 第101-103页 |
| 5.4.4 排料结果的分析 | 第103-104页 |
| 5.5 本章小结 | 第104-105页 |
| 第六章 全文总结 | 第105-107页 |
| 6.1 结论 | 第105页 |
| 6.2 研究展望 | 第105-107页 |
| 参考文献 | 第107-110页 |
| 附录本文中部分程序的代码 | 第110-138页 |
| 1. 零件图形信息的处理 | 第110-113页 |
| 2. 零件图形信息的检查 | 第113-115页 |
| 3. 绘制一个轮廓的AUTOCAD 图形 | 第115-116页 |
| 4. 轮廓方向的判定 | 第116-117页 |
| 5. 轮廓方向的转换 | 第117页 |
| 6. 轮廓面积的计算 | 第117-118页 |
| 7. 求出轮廓的最大和最小坐标 | 第118-119页 |
| 8. 轮廓的平移、旋转和翻转 | 第119-120页 |
| 9. 根据线段上两点坐标求直线方程 | 第120-121页 |
| 10. 求直线的平行线 | 第121-122页 |
| 11. 根据直线方程求两条直线的交点 | 第122-123页 |
| 12. 求排料计算时多边形的实际轮廓 | 第123-126页 |
| 13. 零件轮廓信息初始化 | 第126-127页 |
| 14. 求零件轮廓上最大和最小坐标 | 第127页 |
| 15. 零件的平移、旋转和翻转 | 第127-129页 |
| 16. 求零件的最小包络矩形 | 第129-130页 |
| 17. 点在线段上的判定 | 第130-131页 |
| 18. 两条线段相交的判定 | 第131-132页 |
| 19. 判定点是否在轮廓内部 | 第132-133页 |
| 20. 线段和多边形相交的判定 | 第133-134页 |
| 21. 多边形轮廓相交的判定 | 第134-135页 |
| 22. 零件重叠的判定 | 第135-137页 |
| 23. 零件是否在多边形内部的判定 | 第137-138页 |
| 致谢 | 第138-139页 |
| 攻读硕士学位期间发表的论文 | 第139页 |