找人做销售网站,企业网站优化软件,广西三类人员考试网,wordpress 文章副标题一 背景介绍
本文分享了一个通用的项目工期优化的案例#xff0c;决策变量是每个子项目的工期#xff0c;优化目标是项目的完成时间最小#xff0c;项目的总成本现值最小#xff0c;项目的总安全水平最高#xff0c;项目的总质量水平最高。采用的算法是NSGA2和NSGA3算法。…一 背景介绍
本文分享了一个通用的项目工期优化的案例决策变量是每个子项目的工期优化目标是项目的完成时间最小项目的总成本现值最小项目的总安全水平最高项目的总质量水平最高。采用的算法是NSGA2和NSGA3算法。并设计了GUI界面。最后对比两个算法的优化结果计算IGDHV等多目标优化的指标来评估不同算法的优化效果并通过熵权法TOPSIS等算法从pareto解集中选择合适的方案进行展示。
二 模型介绍
2.1目标函数 本文主要是考虑①项目的完成时间②项目的总成本现值③项目的质量水平和④项目的安全水平四个目标函数的表达式分别为 2.1.1目标函数1项目的完成时间 2.1.2目标函数2项目的总成本现值 2.1.3 目标函数3项目的总质量水平 2.1.4目标函数4项目的总安全水平 2.2约束条件 三 算法介绍
3.1 多目标优化问题 首先本文是一个多目标优化的问题所谓多目标优化是指在优化问题中同时考虑多个目标函数的最优解。在多目标优化问题中存在多个冲突的目标函数而不是只有一个单一的目标函数。多目标优化的目标是找到一组解使得这组解在所有目标函数上都能达到最优值而不是只在其中一个目标函数上达到最优值。 多目标优化问题常见于现实生活中的复杂系统中例如工程设计、经济规划、交通调度等领域。在这些问题中往往需要综合考虑多个因素如成本、效率、可行性等以便找到一个平衡的解。 多目标优化通常涉及到多个决策变量和约束条件因此相比于单目标优化问题多目标优化问题更加困难和复杂。解决多目标优化问题的方法包括多目标遗传算法、多目标粒子群优化算法、多目标蚁群算法等。这些方法旨在通过迭代搜索和评估解的集合逐步逼近真正的最优解集合从而求解多目标优化问题。 3.2 多目标优化算法 常见的多目标优化算法有NSGA2/3 MOEAD MOPSO 等等本文使用NSGA2/3对问题进行求解并使用IGDHV等指标来评估算法的性能。 3.2.1 NSGA2
NSGA2Non-dominated Sorting Genetic Algorithm II是一种用于多目标优化问题的进化算法。它是基于遗传算法的一种改进旨在解决多目标优化问题中非支配排序和多样性维持的问题。 NSGA2算法的主要步骤如下 初始化种群生成初始的候选解种群。 评估适应度使用目标函数计算每个候选解的适应度。 非支配排序将种群中的候选解按照非支配排序进行排序。非支配排序是根据候选解之间的支配关系将它们分成不同的等级。 计算拥挤度距离为了保持种群的多样性NSGA2使用拥挤度距离来度量解的稀疏程度。拥挤度距离是指解周围的密度较远的解有较高的拥挤度距离。 选择操作根据非支配排序和拥挤度距离选择一部分候选解作为父代解。 交叉操作使用交叉算子对父代解进行交叉操作生成子代解。 变异操作使用变异算子对子代解进行变异操作引入新的解。 合并种群将父代解和子代解合并为一个新的种群。 重复步骤2-8直到满足终止条件。 输出结果选择最优的候选解作为最终的解集。 NSGA2算法通过使用非支配排序和拥挤度距离来维护解的多样性可以找到一系列非支配解这些解构成了帕累托前沿。这使得NSGA2算法在多目标优化问题中能够提供多个高质量的解供决策者选择。
3.1.2 NSGA3
NSGA-IIINon-dominated Sorting Genetic Algorithm III是一种多目标优化算法它是对经典的NSGA-II算法的改进和扩展。
NSGA-III算法的主要思想是将解空间划分为多个参考解集每个参考解集中都包含了离散化的目标空间上的一组参考解。NSGA-III算法通过借助参考解集来引导种群的演化从而在多目标优化过程中维持一定的多样性和收敛性。 NSGA-III算法的核心步骤如下 初始化种群随机生成一组初始解并计算每个解的目标函数值。快速非支配排序根据每个解的目标函数值对种群进行非支配排序将解划分为多个等级。计算拥挤度为每个等级中的解计算拥挤度用于评估解的多样性。环境选择根据非支配排序和拥挤度选择一组优质的解作为父代。创建子代通过交叉和变异操作生成一组新的子代解。更新参考解集将子代解与当前参考解集进行比较更新参考解集并筛选出非支配解作为下一代的参考解。终止条件判断检查是否满足终止条件如果满足则终止算法否则返回步骤2。 NSGA-III算法的特点是可以在多目标优化问题中保持较好的收敛性和多样性。通过引入参考解集来指导种群的演化NSGA-III算法可以保证种群在不同的目标空间区域都有合适的覆盖从而有效平衡了收敛性和多样性之间的冲突。
总的来说NSGA-III算法是一种强大的多目标优化算法它在实际应用中已被广泛使用并取得了良好的效果。
3.3 pareto最优
多目标优化对比单目标优化的最大差别体现在单目标优化得到的是一个确定的解而多目标优化得到的互不支配的pareto最优解集合。 Pareto解是多目标优化问题中的一种解决方案它是指在多个冲突的目标函数下无法再进行优化的解。在多目标优化中常常存在冲突的目标函数即某个目标函数的优化会导致其他目标函数的劣化。Pareto解就是无法在同时优化多个目标函数的情况下找到更好的解决方案。Pareto解也被称为非支配解因为它在所有目标函数中都是最优的无法被其他解所支配。在多目标优化问题中我们常常希望找到尽可能多的Pareto解从中选择最合适的解决方案。
四 算例分析
4.1 项目流程
本文研究的项目的流程如下图
4.2项目数据
项目数据通过excel直接读取
4.3 参数设置 五 结果演示
5.1 NSGA2优化结果 5.2 NSGA3优化结果 5.3 GUI界面
5.3.1 登录界面 5.3.2 数据读取和参数设置界面 5.3.3 结果显示界面 5.3.4 查看方案界面 六 项目分享 提供①项目源码分享②项目辅导答疑和③项目代码定制欢迎各位朋友咨询。 免责声明 感谢知识付费 建模编程不易 整理资料不易 相关代码撰写、优化、封装、原创由CSDN博主蓝色洛特完成 均是个人不成熟的想法及建议我说的不一定对。 出现任何学术不端行为与本人无关分享的模型和代码仅供参考学习如有侵权请后台私信