Matlab实现遗传算法中文PPT教程

版权申诉
0 下载量 201 浏览量 更新于2024-10-17 收藏 2.45MB RAR 举报
资源摘要信息:"遗传算法(Genetic Algorithm, GA)是启发式搜索算法的一种,它模拟了自然选择和遗传学中的进化过程,是计算数学中用于解决优化和搜索问题的搜索算法。遗传算法是一种全局优化算法,适用于处理传统优化方法难以解决的复杂问题。在实际应用中,遗传算法可用于机器学习、数据挖掘、人工生命、自适应控制、神经网络训练、路径规划、调度问题、组合优化以及经济学等领域的优化问题。 本次提供的资源是一个关于遗传算法的中文PPT,适用于教学和学习遗传算法基础知识和应用的用户。PPT中可能包含了以下几个方面的内容: 1. 遗传算法的起源与定义:介绍遗传算法的基本概念,它是如何受生物进化理论的启发而产生的,以及其在人工智能和优化问题中的地位。 2. 遗传算法的基本组成:描述遗传算法的主要组成部分,包括编码(基因编码)、初始种群(生物种群)、适应度函数(生存竞争)、选择(自然选择)、交叉(生物遗传中的交叉)、变异(基因变异)以及新一代种群的产生等。 3. 遗传算法的流程:详细阐述遗传算法的执行流程,从种群初始化开始,通过选择、交叉和变异三个主要操作反复迭代,直至满足终止条件。 4. 遗传算法的关键技术:介绍在遗传算法中需要特别关注的技术点,如编码方案、适应度函数设计、选择策略、交叉和变异算子的选择与设计等。 5. 遗传算法的参数设置:解释影响遗传算法性能的参数,包括种群大小、交叉率、变异率等,以及这些参数如何影响算法的搜索效率和全局搜索能力。 6. 遗传算法的应用案例:通过具体案例展示遗传算法在不同领域的应用情况和解决实际问题的过程。 7. 遗传算法与其他优化算法的比较:将遗传算法与其它优化算法(如模拟退火、粒子群优化、蚁群算法等)进行比较,阐述各自的优缺点和适用场景。 由于该资源为压缩文件,其中包括一个文本文件***.txt,该文件可能包含有关文件来源、发布者或版权信息。‘***’是一个知名的文档分享平台,用户可以在该平台上找到各种编程语言、软件教程、课件和书籍等资源。而文件名为“遗传算法中文ppt”的文件则很可能是本次资源的核心内容,即遗传算法相关的中文PPT演示文稿。 根据文件标签“matlab”,我们还能推断出,该PPT内容可能涉及如何在MATLAB环境下使用遗传算法,因为MATLAB是一种广泛应用于工程计算、数值分析、算法开发和数据可视化的编程语言和环境。在MATLAB中,用户可以通过内置函数或者自定义遗传算法来解决各种优化问题。如果PPT中包含了在MATLAB环境中实现遗传算法的示例代码和步骤,那么这将对于想要学习如何在MATLAB中应用遗传算法的用户来说非常有帮助。 总的来说,这个资源对于那些想要了解遗传算法的基本原理、组成、流程、关键技术、参数设置、应用案例以及如何在MATLAB中实现遗传算法的用户来说,是一个宝贵的资料。它可以帮助用户深入理解遗传算法,并能够将其应用于解决实际问题。"

SELECT PIS.SHOW_FLT_DETAIL AS SHOW_FLT_DETAIL -- new , PIS.SHOW_AWB_DETAIL AS SHOW_AWB_DETAIL -- new , PIS.DISPLAY_AIRLINE_CODE AS CARRIER_CODE , DECODE(PIS.REVERT_FLOW,'N',PIS.FLOW_TYPE,DECODE(PIS.FLOW_TYPE,'I','E','I')) AS FLOW_TYPE , PIS.SHIP_TO_LOCATION AS SHIP_TO_LOCATION , PIS.INVOICE_SEQUENCE AS INVOICE_SEQUENCE , PFT.FLIGHT_DATE AS FLIGHT_DATE , PFT.FLIGHT_CARRIER_CODE AS FLIGHT_CARRIER_CODE , PFT.FLIGHT_SERIAL_NUMBER AS FLIGHT_SERIAL_NUMBER , PFT.FLOW_TYPE AS AIRCRAFT_FLOW , FAST.AIRCRAFT_SERVICE_TYPE AS AIRCRAFT_SERVICE_TYPE , PPT.AWB_NUMBER AS AWB_NUMBER , PPT.WEIGHT AS WEIGHT , PPT.CARGO_HANDLING_OPERATOR AS CARGO_HANDLING_OPERATOR , PPT.SHIPMENT_PACKING_TYPE AS SHIPMENT_PACKING_TYPE , PPT.SHIPMENT_FLOW_TYPE AS SHIPMENT_FLOW_TYPE , PPT.SHIPMENT_BUILD_TYPE AS SHIPMENT_BUILD_TYPE , PPT.SHIPMENT_CARGO_TYPE AS SHIPMENT_CARGO_TYPE , PPT.REVENUE_TYPE AS REVENUE_TYPE , PFT.JV_FLIGHT_CARRIER_CODE AS JV_FLIGHT_CARRIER_CODE , PPT.PORT_TONNAGE_UID AS PORT_TONNAGE_UID , PPT.AWB_UID AS AWB_UID , PIS.INVOICE_SEPARATION_UID AS INVOICE_SEPARATION_UID , PFT.FLIGHT_TONNAGE_UID AS FLIGHT_TONNAGE_UID FROM PN_FLT_TONNAGES PFT , FZ_AIRLINES FA , PN_TONNAGE_FLT_PORTS PTFP , PN_PORT_TONNAGES PPT , FF_AIRCRAFT_SERVICE_TYPES FAST , SR_PN_INVOICE_SEPARATIONS PIS --new , SR_PN_INVOICE_SEP_DETAILS PISD--new , SR_PN_INV_SEP_PORT_TONNAGES PISPT --new WHERE PFT.FLIGHT_OPERATION_DATE >= trunc( CASE :rundate WHEN TO_DATE('01/01/1900', 'DD/MM/YYYY') THEN ADD_MONTHS(SYSDATE,-1) ELSE ADD_MONTHS(:rundate,-1) END, 'MON') AND PFT.FLIGHT_OPERATION_DATE < trunc( CASE :rundate WHEN TO_DATE('01/01/1900', 'DD/MM/YYYY') THEN TRUNC(SYSDATE) ELSE TRUNC(:rundate) END, 'MON') AND PFT.TYPE IN ('C', 'F') AND PFT.RECORD_TYPE = 'M' AND (PFT.TERMINAL_OPERATOR NOT IN ('X', 'A') OR (PFT.TERMINAL_OPERATOR <> 'X' AND FA.CARRIER_CODE IN (SELECT * FROM SPECIAL_HANDLING_AIRLINE) AND PPT.REVENUE_TYPE IN (SELECT * FROM SPECIAL_REVENUE_TYPE) AND PPT.SHIPMENT_FLOW_TYPE IN (SELECT * FROM SPECIAL_SHIPMENT_FLOW_TYPE) AND PFT.FLIGHT_OPERATION_DATE >= (select EFF_DATE from SPECIAL_HANDLING_EFF_DATE) )) AND PFT.DELETING_DATETIME IS NULL AND FA.AIRLINE_UID = PFT.AIRLINE_UID AND FA.DELETING_DATETIME IS NULL AND PTFP.FLIGHT_TONNAGE_UID = PFT.FLIGHT_TONNAGE_UID AND PTFP.RECORD_TYPE = 'M' AND PTFP.DELETING_DATETIME IS NULL AND PPT.TONNAGE_FLIGHT_PORT_UID (+)= PTFP.TONNAGE_FLIGHT_PORT_UID AND PPT.RECORD_TYPE (+)= 'M' AND PPT.DISCREPANCY_TYPE (+)= 'NONE' AND PPT.ADJUSTMENT_INC_FLAG (+)= 'Y' AND PPT.DELETING_DATETIME (+) IS NULL AND FAST.AIRCRAFT_SERVICE_TYPE_UID = PFT.AIRCRAFT_SERVICE_TYPE_UID AND FAST.DELETING_DATETIME IS NULL AND PIS.TEMPORAL_NAME = TO_CHAR((CASE :rundate --new WHEN TO_DATE('01/01/1900', 'DD/MM/YYYY') THEN TRUNC(SYSDATE) ELSE TRUNC(:rundate) END ), 'YYYYMM') || '00' AND PIS.INVOICE_SEPARATION_UID = PISD.INVOICE_SEPARATION_UID --new AND PISD.INVOICE_SEP_DETAIL_UID = PISPT.INVOICE_SEP_DETAIL_UID --new AND PISPT.PORT_TONNAGE_UID = PPT.PORT_TONNAGE_UID --new AND PIS.PRINT_SUPPORTING_DOC = 'Y';上面是oracle的写法,请转成spark SQL的写法。

2023-06-02 上传