自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 OpenCv在CAD二次开发中的应用探索:计算离散图形的外轮廓

通过OpenCv(C#中的OpenCvSharp4库)的图像处理方法,应用到计算CAD离散图形的外轮廓中。

2023-10-29 19:05:02 562

原创 Python 第三代非支配排序遗传算法(NSGA-III)求解多目标高次函数的帕累托前沿

因为NSGA-III增加了几个参数,因此效率很依赖于对这些参数的调整,总体运行速度是低于NSGA-II的,但是它和NSGA-II想比,还是具备以下优点:高效性:NSGA-III和NSGA-II都采用非支配排序和拥挤度距离计算策略,能够有效地维护种群的多样性,从而提高收敛速度和搜索效率。稳健性:NSGA-III不依赖于特定的问题结构或形式。这些特性使得该算法具有良好的稳健性和可移植性,适用于各种多目标优化问题。

2023-06-17 00:10:15 6427 5

原创 Python 求解非零和博弈的纳什均衡策略——以虚构的两个企业之间的商品价格博弈为例

博弈论是研究具有斗争或竞争性质现象的数学理论和方法,它考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。博弈论研究的模型中,玩家之间的关系主要可以分为四种:即零和博弈,非零和博弈,合作博弈,非合作博弈。本文研究的是非零和博弈,即在该博弈中,一方的收益不一定等于另一方的损失,参与方之间的关系不仅取决于双方的收益, 还取决于其他因素,如双方的合作程度和对抗程度等。本文虚构了两个企业之间的商品价格博弈,具体模型构造见下文。

2023-06-11 16:54:34 1756

原创 Python 模拟退火算法(SA)求解多目标高次函数的帕累托前沿

我前面的博客用NSGA-II算法求解了多目标高次函数的帕累托前沿,本文打算用模拟退火算法求解同样的问题。相关论文提到,模拟退火算法是一种全局优化算法,用于在大规模解空间中寻找极值。相较于其他常见的优化算法,模拟退火算法具有较好的全局发现能力,并且可以逃离局部最优解。这是因为模拟退火算法具有一定的随机性和概率性,在搜索过程中可能会以一定概率接受劣解,从而避免陷入局部最优解。而遗传算法通常采用选择、交叉、变异等操作来进化个体,并不能保证每一次进化都是优化的,有可能会导致个体陷入局部最优解而不能再继续前进。

2023-06-07 22:05:11 2929 2

原创 Python 遗传算法求解多目标单模式资源受限项目调度问题(MORCPSP)的帕累托前沿

我前面有博客已经探讨了如何解决单目标、单模式的资源受限项目调度问题并附上了代码,本篇博客旨在解决以项目的鲁棒性、工期为双目标的单模式资源受限项目调度问题,博客内提供了相应的部分代码。想获得全部代码,可以加我创立的qq群下载群文件,群号:808756207。本群旨在研究工程管理、工商管理等管理学算法的代码化,借助计算机技术规范管理学的研究。我会不定期上传一些我自己研究的管理学python代码,以及其他国内外大佬的python代码。

2023-05-19 13:01:31 1774 1

原创 Python 第二代非支配排序遗传算法(NSGA-II)求解多目标高次函数的帕累托前沿

在项目进度管理中,NSGA-II是常用的求解多目标项目进度管理优化问题的算法,虽然NSGA-III也出来了些日子,但是目前主流的研究MORCPSP问题的论文大多采用NSGA-II算法。我认为主要有三个原因:第一个是,NSGA-III算法需要更大的计算代价,因为它需要进行额外的种群初始化和排序操作来维护解的分布。这增加了算法的时间复杂度。第二就是,NSGA-III算法需要更多的参数设置,如分治桶的数量和邻域半径等。这些参数的不恰当设置可能会影响算法的性能。

2023-05-02 23:47:16 3996 3

原创 Python 项目进度管理的所有路径的确定

我上一篇博客提到了项目进度管理中关键路径的确定,但是在项目进度管理中,往往只知道关键路径是不够的。有时候也需要对非关键路径做研究分析,非关键路径可以帮助项目团队确定各个非关键路径上活动的浮动时间(总时差),即活动可以被延迟的最长时间,而不会影响项目的完成时间。这样,项目团队就可以更好地实现资源的优化和利用,让资源更好地服务于项目。因此,我们理应找到一个项目中的所有路径。同样可以用这个方法,先找到所有路径,再判断每条路径上的总时差是否为0。总时差为0的路径即为关键路径。

2023-04-30 22:56:26 390

原创 Python 项目进度管理的关键路径的确定

本站内其实有许多讲如何找关键路径的,但是我看了下几篇博客,感觉都写得好难好难,有点难以理解,比如下面是某篇博客所描述的确定关键路径的算法:看完后是一脸懵逼的状态。那么是否有我们工程人方便理解的算法呢,那必然是有的,详见下文。就是一个对项目管理内容的基本的代码的实现。此外,我们也可以根据关键路径上的活动的工期和算出这个项目的最短工期。

2023-04-27 23:26:10 851 4

原创 Python 实现遗传算法解决资源受限项目调度问题(RCPSP)

RCPSP问题我之前的博客做过简要的介绍,并且用了SSGS算法(串行调度机制)解决了以工期最小为目标函数的问题,这里不多赘述,可以翻翻我之前的博客。本篇博客则是展示了如何用遗传算法解决RCPSP问题,目标函数同样是求工期最小。遗传算法解决RCPSP问题是一个很热门的算法了,但是对具体的实现过程,各类教科书、论文里面讲得都特别得不详细,本文的代码也是我自己反复推敲出来的,不一定对,请诸君阅读时自行斟酌。代码还有很多需要完善的地方,本次产品其实也是个半成品,诸君认真查看代码应该也能看出端倪,等到有时间再完善。

2023-03-29 22:17:03 3142 17

原创 Python 遗传算法求Ackley函数最优解

最近在死磕遗传算法, 自己也写了几个demo做练习,但是苦于不知道自己的算法是否准确,于是找到了一个现成的python库可以用来调用封装好了的遗传算法,库名就叫做geneticalgorithm,直接就可以安装成功。运行时间较长,但是算的比较精确,不开源,可恶,都没办法白嫖代码了。

2023-03-19 00:20:15 2407

原创 Python 实现SSGS算法解决RCPSP问题的代码

RCPSP:全称为Resource-Constrained Project Scheduling Problem,即资源受限的项目调度问题。SSGS:全称为:serial schedule generation scheme,即串行调度机制。最近在研究多项目管理相关领域论文的时候,大多数论文都反复提到了SSGS以及RCPSP,可以说多项目管理问题就是由若干个复杂的RCPSP有机组合起来的管理问题,而SSGS则是解决这些问题的基础方案。SSGS属于启发式算法的一种。

2023-03-12 20:31:54 1678 1

原创 Python ​​​​​​​​​​​​​​X-R等质量控制图的Python画法

今日的研究生课程是《现代质量管理学》,学到了X-R、-R、-S等一系列质量控制图的画法原理。

2023-02-17 23:46:44 986

原创 Python 怎么利用Python绘制二元高次隐函数的函数图像及其极值点——以某双核论文模型方程为例

几日前,在研究某双核期刊的某篇论文时,发现论文上的函数图像绘制得似乎有些不精确。原函数方程为:(0.2045*y)^2+(3/4*y^3-2*x*y)^2-0.45^2=0。

2023-01-15 00:21:39 1628 3

原创 Revit二次开发 如何处理不能忽略的错误(FailureSeverity.Error)

Transaction类是在Revit二次开发中,执行更改、变更的常用类。在使用它的时候,有时候会出现一些我们不希望看到的问题。

2023-01-05 22:27:33 914

原创 哄她开心的圣诞树html源码,复制粘贴就能实现~

别送苹果了,玩点“高科技”逗女朋友开心吧。

2022-12-25 18:33:27 12049 7

原创 人工智能 ChatGPT的使用初体验

最近ChatGPT真的是太火太火,搞得我都想蹭一个热度了,而且这本身也是一款足够强大的AI,值得大家都去了解了解。 ChatGPT是类似于微软小冰但是功能(或者说能力)远远比小冰大的一款对话AI。下面我简单跟它聊聊,做个测试。 作为半个程序员,我当然最关心的是它能不能帮我解决一些代码问题,于是我就稳了一些关于CAD二次开发、和算法方面的问题,它的回答如下: 几乎完美的回答了我的问题,甚至在CAD二次开发的问题上它还有举一反三的回答,比如我问的是怎么获取CAD文件中所

2022-12-07 20:06:10 10392 3

原创 CAD二次开发 Excel/Word读写工具包NPOI安装Bug解决方案(无法解析依赖项“SixLabors.Fonts”)

NPOI是常用的读写Excel/Word的工具包,它可以在没有安装Office的情况下对Word或Excel文档进行读写操作。 仅仅在几个月之前,我才用过这个工具包,那会只要在NuGet里搜索出它来,直接点安装就行了。今天开发一款小插件需要写入Excel,在安装NPOI的时候报出了如下错误:“无法解析依赖项“SixLabors.Fonts”。使用的源: 'nuget.org', 'Microsoft Visual Studio Offline Packages'。” 原因分析:

2022-12-04 20:26:40 5121 5

原创 CAD二次开发 根据多段线Polyline产生的线段Line需要做进一步处理才可以使用

我根据一条多段线Polyline产生了由它顶点集合连接生成的线段Line列表,并且我想在多段线的“坡点”(即相邻攀升Line和下降Line的交点)处,做一条垂线。

2022-11-25 03:02:44 530

原创 CAD二次开发 如何获得文档(Document)中指定类型(DBObject)的所有对象?

手上的Revit项目需要对CAD的一些实体对象做增删改查的操作,但是如果将CAD文件链接到Revit中做处理,会有诸多的麻烦,比如说在Revit二次开发中常用、且免费的用于处理CAD文件的dll文件是Teigha的Td_Mgd.dll,但是这个dll文件在使用过程中有诸多bug,并且有许多函数功能并没有完全开发完成,例如Entity.IntersectWith()函数。此外,这个dll文件也早已被Teigha官方抛弃了,早就不更新维护了。)。

2022-11-24 19:59:45 1343 1

原创 Revit二次开发 如何获得链接CAD中所有的多段线PolyLine?

最近做的这个项目,涉及到提取链接CAD中的所有多段线,并根据这些多段线的几何信息做一些分析,但是产生了一些意想不到的问题。

2022-11-20 13:15:35 1558 10

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除