没有合适的资源?快使用搜索试试~ 我知道了~
软件X 22(2023)101355原始软件出版物DIGNEA:为优化领域生成多样化和歧视性实例套件的工具Alejandro Marreroa, Eduardo Segredoa,Coromoto Leóna,Emma HartbaDepartamento de Ingeniería Informática y de Sistemas,Universidad de La Laguna,San Cristóbal de La Laguna,西班牙b联合王国ar t i cl e i nf o文章历史记录:2022年11月21日收到收到修订版,2023年2月22日接受,2023年保留字:实例生成新奇搜索进化算法优化背包问题a b st ra ct为了推进优化算法开发的研究,至关重要的是要获得来自一个域的不同和歧视性实例的大型测试床,这些实例可以突出不同算法的优点和缺点。DIGNEA工具可以为任何领域生成不同的实例套件,这些套件也可以根据用户选择的一组求解器进行区分。用C++编写,并作为存储库和Docker镜像交付,其模块化和基于模板的设计使其能够轻松地适应多个领域和多种类型的求解器。本文介绍了如何为背包问题领域生成实例版权所有2023作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v1.0.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-22-00386Code Ocean compute capsuleGPL-3.0许可证使用Git的代码版本控制系统使用C++、OpenMP、CMake、Catch2的软件代码语言、工具和服务编译要求,操作环境依赖性C++20(gcc 10.3.0+测试),Linux;或者Docker。 如果可用,链接到开发人员文档/手册https://dignea.github.io/问题支持电子邮件dignea@ull.edu.es1. 动机和意义在任何优化领域,众所周知,没有罪-GleSolver可以最好地解决所有实例,这就需要使用算法组合,这些组合共同提供了问题的实例空间的覆盖。因此,这导致了Rice在1976年[1]提出的每实例求解器选择问题(ASP)近年来,随着机器学习方法的兴起,ASP获得了相当大的关注[2],这些方法可以使用来自优化域的大型实例数据集来预测给定算法的性能或最佳求解器的标签。然而,收集足够实例的过程*通讯作者。电子邮件地址:amarrerd@ull.edu.es(Alejandro Marrero),esegredo@ull.edu.es(Eduardo Segredo),cleon@ull.edu.es(CoromotoLeón),e. napier.ac.uk(Emma Hart)。https://doi.org/10.1016/j.softx.2023.101355既覆盖实例的特征空间又相对于文件夹中的求解器是可区分的,这是相当具有挑战性的。虽然该领域的大部分工作都集中在生成不同领域中的困难实例[3-然而,大多数这些方法不包括显式的机制,以生成相对于特征空间是不同的实例-他们只专注于生成相对于求解器每一个不同的实例。Smith-Miles的工作确实尝试生成空间填充实例,即在特征空间的未探索区域中,但是每次运行仅生成十个实例,并且需要在实例所在的空间中的每个点处重复运行。2352-7110/©2023作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxAlejandro Marrero,Eduardo Segredo,Coromoto León等软件X 22(2023)1013552必需的. 相比之下,尝试跨域生成实例的替代方案依赖于可以由组合中的任何求解器求解的实例[10],甚至完全随机生成过程[11]。我们的软件,我们称之为DIGNEA,是一个通用的C++框架,能够生成相对于用户定义的特征空间不同的实例,或者生成相对于与预定义的组合相关的性能向量不同的实例,这也隐含地促进了特征空间的多样性。术语特征空间是指从特征集合定义的空间,其可以用于定义优化域中的实例。一个实例的特征集被称为它的特征描述符。另一方面,相对于性能向量生成不同的实例定义了所使用的组合的性能空间。相对于用户预定义的投资组合的性能值的集合被称为其性能描述符。与特征描述符不同,实例的性能描述符完全依赖于形成组合的算法。DIGNEA的运行需要属于组合的目标算法的规范。单次运行生成多个实例,这些实例在特征或性能方面是不同的,同时,与组合中的任何其他算法相比,所选择的目标可以更好地解决这些实例。因此,用户通常会为他们选择的投资组合中的每个目标算法运行一次DIGNEA。DIGNEA基于新颖性搜索(NS)[12]的使用,它是指一种奖励新颖性的进化算法(EA),即解决方案之间的差异,而不是解决方案的质量。一个纯粹的EA只奖励客观的适应性,而一个纯粹的NS只奖励新颖性,因此,往往会导致更多的探索。在DIGNEA中,与许多其他工作一样,两种不同类型的适应度通过加权因子组合成单目标函数,即当权重为1时,它成为纯EA,而当权重为0时,该方法成为纯NS。该软件已在最近的会议工作中使用[13],其中我们首次提出使用NS在KP域中为由一组传统EA的不同参数组成的投资组合生成实例。有关算法在端口和其他组件中的作用的更多详细信息,以及有关所执行的实验程序的更多信息,请参阅以前的工作[13]。最后,值得一提的是,DIGNEA的模块化结构可以方便研究人员为任何领域创建大型实例数据集,分析求解器的优势/劣势,进行算法选择或构建求解器的端口2. 软件描述DIGNEA是用现代C++编写的,结合了基于模板的类型和创造性的设计模式,允许用户根据自己的需要扩展框架。2.1. 软件构架DIGNEA类型、类和模块之间的相互连接是通过继承来定义的,这是一种常见的优化方法通过模板参数表示为了解决一个问题,必须定义一个解决方案。Solution是一个模板类,它代表了一个优化问题的典型解决方案 它包括变量(基因型)和目标值(表型)的一个给定的解决方案,为一个特定的问题。 由于DIGNEA涵盖了一系列预定义的解决方案类型,因此定义您自己的自定义解决方案类型可能是可选的。为了改善DIGNEA的用户体验,其设计考虑了两种创建性设计模式:构建器和因子。构建器用于实例化算法、实验和演化实例生成器(EIG)配置。同时,工厂允许动态创建变量运算符和其他组件。在 前 面 的 构 建 块 中 , EvolutionaryInstance Generator(EIG),AbstractDomain,AbstractInstance以及两个NS 描 述 符 类 型 NSFeatures 和 NSPerfor-mance 。 EIG 是DIGNEA的主要组成部分。它实现了一个NS的方法来生成一组不同的和discriminatory的情况下,任何优化问题。抽象域为EIG定义了一个实例生成域。它基本上定义了一个域来生成优化实例问 题 P 以 前 在 DIGNEA 中 定 义 过 (Problem 类 的 对 象 ) 。AbstractInstance是Abstract Domain域中的解决方案,即 它表示优化问题P的实例。它包含了为优化问题P构造一个实际实例的所有信息。图1显示了DIGNEA中实例生成的主要组件之间的关系。例如,要实例化EIG类型的对象,用户必须指定以下组件:NS描述符类型,如NSFeatures或NSPerformance,通过工厂NSFactory创建;要为其生成实例的域( AbstractDomain ) , 例 如 KPDomain; 实 例 的 表 示(AbstractInstance),例如KPInstance;以及将要为其生成实例的算法组合(AbstractSolver),例如EA或模拟退火(SA类)。类AbstractDomain和AbstractInstance是com-由于它们可以包括自组织操作,特定属性和特定表示。因此,要在DIGNEA中指定一个新的域,用户必须至少定义:一个优化问题Problem,一个特定的域AbstractDomain,以及问题AbstractInstance实例的表示。1图中的颜色代码和不同类型的线。1.体现继承与延伸需要在DIGNEA。带虚线的红色矩形表示必须扩展以指定新域的基类。那些带虚线的绿色是工具提供的KP域最后,带有直线的黄色矩形最后,值得一提的是,DIGNEA作为Docker镜像提供,以促进用户体验,并使软件可移植到不同的平台。2The图像包含DIGNEA的所有依赖项和源代码为了运行测试或示例,用户只需要在bin目录中移动并执行他们想要的文件。创建新容器时无需构建软件。但是,对框架的任何修改或添加都需要重新构建它。此外,构建步骤减少到执行根目录中的build.sh软件[14] Solver是主要的算法接口在整个框架中定义新的算法。此外,Problem是一个类,它收集必要的信息来定义用户可能想要生成实例的任何优化问题。它允许用户定义不同的解决方案1 要查看DIGNEA的完整文档和示例,请查看Github上的文档:https://dignea.github.io/。2 的 Docker图像 可以 被访问 网址:https://hub.docker.com/r/迪涅亚/迪涅亚。Alejandro Marrero,Eduardo Segredo,Coromoto León等软件X 22(2023)1013553Fig. 1. DIGNEA主要组件之间的关系,用于实例生成。带虚线的红色矩形表示那些必须扩展以指定新域的类同时,带虚线的绿色矩形表示KP域的自定义类型。带有直线的黄色矩形是DIGNEA中使用的基本类型,用户不一定需要修改。(For对于图中颜色的解释,请读者参考本文的网络版本2.2. 软件功能DIGNEA的主要贡献是为研究人员提供一个完整的通用软件,以生成任何优化领域的实例。然后,这些实例可以用于实例空间表示、经由手工设计的特征的实例表征、自动设计的特征、算法设计和选择或者甚至用于跨域的算法的参数调整评估此外,由于一组实例的生成涉及使用若干算法对这些实例的解析,因此DIGNEA也可以用作优化框架以单独验证所生成的实例。该软件不仅从领域的角度来看是可扩展的,而且从投资组合和新颖性搜索描述符。从投资组合的角度来看,即使软件主要被设想为使用EA,也可以包括任何其他非EA算法DIGNEA的当前版本包括以下实例生成组件:求 解 器 : 进 化 算 法 ( EA 对 象 ) , 如 First Improve 、Generational、Steady-State和Parallel Generational [15];模拟退火方法(SA),以及四种著名的KP确定性算法(KP启发式)。新颖性搜索描述符类型:按特征新颖性搜索(NS特征)和按组合性能新颖性搜索(NS性能)。领域:背包问题(KPDomain,KPInstance和KP类)。构建器和工厂:EIGBuilder,用于生成实例的EIG对象的构建器;EABuilder,EA配置的构建器;NSFactory,NS描述符工厂;CXFactory,交叉操作符工厂;MutFactory,变异操作符工厂;以及父选择操作符工厂SelFactory。一个实例打印机类,用于使用插入运算符生成域相关的实例文件。3这个操作员3 C++文档:https://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt2。必须在通过类AbstractDomain的扩展创建新域时定义。关于NS描述符,NS特征允许在域的预定义特征空间中搜索多样性。因此,用户必须定义一组特征,这些特征在域中描述实例,以及如何在扩展AbstractDomain的类中计算它们。或者,NSPerformance在投资组合性能空间中寻找多样性。在这里,我们搜索的情况下,是不同的性能的求解器,而不考虑任何其他信息。NSPerformance是一个合适的选项,适用于那些难以定义功能或计算起来计算代价高昂的领域。在这一点上,我们应该注意到,考虑到上述NS描述符,可以使用三种不同的距离度量来计算多样性:欧几里德,曼哈顿和汉明。更多细节请参见NS提案[12]。图2详细描述了EIG执行的演化过程。一旦特定的领域和组合的求解器配置,进化过程开始。首先,创建并评估一个随机的实例群体。然后,在G生成过程中,实例按照经典的EA方案进行进化.在使用组合中的每个算法评估所有实例之前,应用变异算子(交叉和变异)。在用投资组合中的每个算法求解所有实例之后,必须为每个实例分配一个适应度值。在这里,我们使用来自进化计算领域的术语适应度来定义一个实例在进化过程中的特定点上有多合适。特别地,适应度被计算为性能得分和新颖性得分这两个值的线性加权组合。每个实例的性能得分ps通过使用等式(1)来计算。(1),即当解决手头的实例时,目标算法在R次重复中实现的平均性能之间的差,表示为tp;以及当解决该特定实例时,组合中的剩余方法在R次重复中实现的平均性能的最大值,定义为op。在这一点上,我们应该注意到,DIGNEA假设算法在第一个位置,·····Alejandro Marrero,Eduardo Segredo,Coromoto León等软件X 22(2023)1013554[客户端]= ∈图二、DIGNEA 中实例生成过程的程序流程图。投资组合被视为目标。因此,用户在指定组合中求解器的顺序时必须小心。ps=tp−max(op)(1)之后,我们根据所选择的特定描述符计算种群中每个实例的新颖性得分。然后,适应度f被计算为新颖性得分s和性能得分ps的线性加权组合,其中φ是性能/新颖性平衡加权因子(等式2)。(2))。设置较低的φ值将产生更分散和多样化的实例,而较高的值将产生更好的分组和区分实例。最后,具有大于预定义阈值的新颖性分数和正性能分数的那些实例被包括到档案中,以作为由该方法返回的最终解决方案集合的一部分。f=φps+(1−φ)s(2)3. 说明性实例在本节中,我们提供了一个源代码示例,说明如何使用DIGNEA在KP域中生成实例为此,我们只需要定义域的参数,求解器的组合和特定的NS描述符来运行实验。文档可以在Github仓库中找到。4提供了创建新域、算法和运行实例生成实验的完整教程在我们的示例中,我们将使用四个确定性KP算法[8]的组合来基于这些求解器的性能来进化KP实例。该投资组合被定义为C++4 DIGNEA的Github存储库可以通过以下方式访问:https://github。com/DIGNEA/dignea.指向AbstractSolver对象的唯一指针的向量。向量填充的顺序非常重要。第一个位置的求解器,即 将被视为目标求解器,并且因此,所生成的实例将被定制,使得该求解器在求解那些特定实例时优于组合中的其余求解器。 考虑到KP域,我们将实例中的项目数设置为N5 0 ,和边界wi,p iiN到在1,1000的范围内。之后,我们使用EIGBuilder创建一个指向EIG对象的唯一指针,需要为KP域生成一组实例。请注意,EIGBuilder通过使用必要的工厂简化了初始化过程,即withSearch使用NSFactory类型创建一个新的NS描述符对象,该对象的类型为NSFeatures,并带有剩余的参数。上面的片段说明了C++代码如图所示。3 .第三章。这个源代码片段显示构建器模式用于创建指向EIG对象的唯一指针。方法是不言自明的。 调用run方法启动演化过程,getResults方法在执行结束时提供一组实例。图图4显示了从本节中详细描述的实验中生成的JavaScript对象表示法(JSON)文件。JSON文件通常包含来自EIG、域(在我们的示例中为KPDomain)和解决方案前端的所有信息。前面包含EIG生成的一组不同实例。对于每个实例,它包含其新颖性分数、性能分数、适合性和实际实例信息。此外,如果定义了,它可以包含其特征值。应用标量化和降维的简单数据分析程序可以提供所图5显示了两 个 实 例 生 成 实 验 的 结 果 。 顶 部 的 子 图 显 示 了 EIG 使 用NSFeatures作为NS描述符生成的实例,而底部的子图显示了NSPerformance生成的实例。可以观察到实例如何在空间中传播,但也被划分在不同的集群中(组合中的每个求解器一个),从而促进它们的分类。4. 影响自1976年ASP的定义以来,研究人员一直在努力解决这个计算代价高昂的问题。传统上,解决一个领域的ASP至少涉及三个步骤的过程。首先,您首先生成并收集大量实例以生成数据集。然后,在定义了求解器的组合之后,您必须进行相当昂贵的计算实验,即,使用组合中的每个求解器求解数据集中的每个实例。此后,必须应用选择机制将每个实例与获得最佳性能的求解器相关联。这个过程非常耗时,并且在从一个步骤切换到下一个步骤时容易出现人为错误此外,在大多数情况下,实例生成过程是随机执行的,不能保证代表域或强调求解器的优点/缺点。DIGNEA旨在通过将前三个步骤结合在一个程序中来促进这一过程该软件的工作流程不仅确保生成的实例被正确地标记为组合中性能最佳的求解器,而且还允许研究人员定义他们想要的不同实例此外,DIGNEA的模块化和基于模板的架构允许研究人员切换域,并以直接的方式包含自己的求解器。虽然DIGNEA允许在一个单一步骤中简化实例生成过程,但上述任务仍然是一个计算昂贵的任务。但是,该软件支持Alejandro Marrero,Eduardo Segredo,Coromoto León等软件X 22(2023)1013555图3.第三章。在DIGNEA中生成KP实例的C++源代码片段。图四、 JSON文件, 其 中 包含实例生成实验的结果。此类文件由DIGNEA直接提供MPI并行性的实验,结果,它可以运行以加快这一进程。例如,DIGNEA已在各种HPC系统(如Archer 25和TeideHPC)中正确部署和执行。6在最近的一份会议论文中,DIGNEA被用来为一组不同的EA配置在KP域[13]中生成几组实例。结果证明,该软件能够在每个目标求解器的单次运行中生成大量的实例。此外,这种情况下被证明是显着偏置的目标求解器的性能。在空间覆盖方面,结果优于其他相关的建议,依赖于一个纯粹的进化过程与多样性管理。5 Archer 2网站:https://www.archer2.ac.uk/。6 TeideHPC网站:https://teidehpc.iter.es/。DIGNEA可以帮助您更深入地了解问题,它们的实例,以及这些实例如何共享功能和性能空间,以便更好地设计它们。此外,DIGNEA可以应用于追求新的研究问题,例如,关于实例空间表示,实例表征通过手工设计的功能,自动设计的功能,算法设计和选择,甚至参数调整评估算法跨域。该软件现已作为开源软件提供给社区。5. 结论提出了一个基于新颖性搜索和进化算法的多样性实例生成器DIGNEA。我们的目标是设计一个框架来生成任何优化域中的实例。我们通过为DIGNEA定义泛型类型和模块架构来当前软件版本Alejandro Marrero,Eduardo Segredo,Coromoto León等软件X 22(2023)1013556图五. 通 过 DIGNEA生成的KP实例的二维表示。颜色反映为其生成实例的目标算法。实例顶部的实例是使用NSFeatures生成的,而底部显示的实例是使用NSPerformance生成的包含为KP域生成实例所需的类型。目前,我们正在努力包括更多的领域,如TSP和装箱。该软件已被用作几个会议论文和最近的工作的实验框架。结果证明,与以前的方法相比,它能够在空间覆盖,新颖性和适应度方面生成更好的实例[13],这些方法仅考虑随机生成求解器之间的性能差距最大化[8,11]。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作数据可用性文章中描述的研究未使用任何数据确认Alejandro Marrero 的 工 作 由 加 那 利 群 岛 政 府 “Canaria deInvestigación , Inno-vación y Sociedad de la Información -ACIISI”[合同号TESIS 2020010005]资助引用[1] 小赖斯算法选择问题。Adv Comput 1976;15(C):65http://dx.doi.org/10.1016/S0065-2458(08)60520-3.[2]杨晓萍,李晓萍,李晓萍.自动算法选择:调查和观点。Evol Comput 2019;27(1):3网址://dx.doi.org/10.1162/evco_a_00242网站。[3] 皮辛格湾背包难题在哪里?Comput Oper Res 2005;32(9):2271-84.http://dx.doi.org/10.1016/j.cor.2004.03.002网站。[4]Smith-Miles K,Christiansen J,Muñoz MA. 重新审视困难背包问题在哪里 ? 通 过 实 例 空 间 分 析 。 计 算 机 操 作 研 究 2021;128 : 105184 。http://dx.doi.org/10.1016/j.cor.2020.105184网站。Alejandro Marrero,Eduardo Segredo,Coromoto León等软件X 22(2023)1013557[5] 米卡拉克湾使用演化演算法产生硬式库存路径问题实例。在:遗传和进化计算会议的会议记录。2021,第243-251页。http://dx.doi.org/10.1145/3449639.3459401.[6] Alissa M,Sim K,Hart E.使用深度学习进行算法选择,无需特征提取。在:遗 传 和 进 化 计 算 会 议 的 会 议 记 录 。 2019 年 , 第 198-206 页 。http://dx.doi.org/10.1145/3321707的网站。3321845。[7] [10]张晓刚,张晓刚.通过新颖和创造性的变异算子进化不同的TSP实例。在:第 15 届 ACM/SIGEVO 会 议 的 基 础 上 的 遗 传 算 法 。 2019 年 , 第 58-71 页 。http://dx.doi.org/10.1145/3299904.3340307.[8] Plata-González LF , Amaya I , Ortiz-Bayliss JC , Conant-Pablos SE ,Terashima- Marín H,Coello Coello CA.基于进化的背包问题合成实例的裁剪。软计算2019;23:12711-28. 网址://dx.doi.org/10.1007/s00500-019-03822-w网站。[9] 朱尔斯特伦湾组合问题的进化困难实例第11届遗传和进化计算年会论文集 。 GECCO , ACM; 2009 年 , 第 279-86 页 。 http://dx.doi 的 网 站 。org/10.1145/1569901.1569941。[10]Akgün P.,Dang N,Miguel I,Salamon AZ,Stone C.实例生成通过生成器实例。In:Schiex T,de Givry S,editors.约束的原则和实践。Cham:SpringerInternationalPublishing;2019,p.3-19.http://dx.doi.org/10.1007/978-3-030-30048-7_1网站。[11]Ullrich M,Weise T,Awasthi A,Lässig J.离散优化问题的通用问题实例生成器 。 在 : 遗 传 和 进 化 计 算 会 议 论 文 集 伴 侣 。 2018 年 , 第 1761-8 页 。http://dx.doi.org/10.1145/3205651.3208284网站。[12]Lehman J,Stanley KO.放弃目标:只通过寻求新奇来进化。Evol Comput2011;19(2):189-222. http://dx.doi.org/10的网站。1162/EVCO_a_00025。[13]Marrero A,Segredo E,León C,Hart E. 一种新颖的搜索方法来填充一个实例空间与不同的和歧视性的例子背包问题。在:并行问题解决的性质- PPSN十七。Cham:Springer International Publishing; 2022,p. 223-36. http://dx.doi的网站。org/10.1007/978-3-031-14714-2_16。[14]León C,Miranda G,Segura C. METCO:一个并行的基于插件的多目标优化框架。IntJArtifIntellTools2009;18(04):569-88.http://dx.doi.org/10.1142/S0218213009000275网站。[15]Marrero A,Segredo E,León C.一种并行遗传算法算法选择问题的解决。在 : 遗 传 和 进 化 计 算 会 议 论 文 集 伴 侣 。 2021 , 第 1978-81 页 。http://dx.doi.org/10.1145/3449726.3463160网站。
下载后可阅读完整内容,剩余1页未读,立即下载
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 利用迪杰斯特拉算法的全国交通咨询系统设计与实现
- 全国交通咨询系统C++实现源码解析
- DFT与FFT应用:信号频谱分析实验
- MATLAB图论算法实现:最小费用最大流
- MATLAB常用命令完全指南
- 共创智慧灯杆数据运营公司——抢占5G市场
- 中山农情统计分析系统项目实施与管理策略
- XX省中小学智慧校园建设实施方案
- 中山农情统计分析系统项目实施方案
- MATLAB函数详解:从Text到Size的实用指南
- 考虑速度与加速度限制的工业机器人轨迹规划与实时补偿算法
- Matlab进行统计回归分析:从单因素到双因素方差分析
- 智慧灯杆数据运营公司策划书:抢占5G市场,打造智慧城市新载体
- Photoshop基础与色彩知识:信息时代的PS认证考试全攻略
- Photoshop技能测试:核心概念与操作
- Photoshop试题与答案详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)