- 博客(60)
- 收藏
- 关注
原创 核密度估计KDE原理及Python实现(PDF|CDF|Kernel|KDE)
一些情况下,数据分布是没有规律的,不能直接对应上常见的概率密度函数PDFs上。这种情况下,Kernel Density Estimator (KDE) 提供了一种对数据分布比较合理和乐观的表达。
2024-08-11 17:21:01
574
原创 Operations Research (2): Optimization Algorithms课程作业代码及结果(调度|选址)
来源:Coursera课程Operations Research课程是National Taiwan University开设的运筹优化课程,共分成三个系列:Models and Applications;Optimization Algorithms和Theory,其中Part2主要介绍了一些求解算法,比如单纯形法,梯度下降,分支定界和启发式等,本文记录了该课程的结课小作业。
2024-07-27 17:48:37
274
原创 Operations Research课程之带约束的非线性规划(凸分析|Lagrange松弛|Lagrange对偶|KKT条件)
凸规划(凸函数,凸集,单变量和多变量NLP分析),拉格朗日松弛函数,拉格朗日对偶性质,KKT条件,带约束的非线性规划问题
2024-07-04 13:07:02
925
原创 Operations Research课程之线性规划对偶(对偶理论|影子价格|单纯形法|对偶单纯形法)
原始和对偶问题模型的确定,对偶定理的证明,为什么需要对偶?敏感性分析,影子价格和对偶,单纯形法,对偶单纯形法
2024-06-27 21:01:25
771
原创 Operations Research课程之非线性规划(梯度下降|牛顿法|Gurobi+Python)
用于求解无约束非线性优化问题的方法:梯度下降和牛顿法,算法原理和举例说明,使用Python+Gurobi求解二次规划问题:农产品定价问题
2024-05-13 17:43:49
1282
原创 网络流问题求解及Gurobi+Python代码(最大流/最小成本网络流/多商品网络流)
最大流问题,最小成本网络流,多商品网络流,Gurobi+python代码
2024-02-07 21:06:19
1864
1
原创 路径规划问题数学模型及Python+Gurobi求解(旅行商TSP/容量约束CVRP/时间窗约束VRPTW)
对于旅行商问题有两类混合整数规划模型:Miller–Tucker–Zemlin (MTZ)形式和Dantzig–Fulkerson–Johnson (DFJ)形式,总结了容量约束的路径规划问题和带时间窗约束的路径规划问题的数学模型,使用python调用Gurobi在基准测试集上进行了验证,提供可视化结果
2023-09-16 16:40:43
1924
原创 Git基础知识:常见功能和命令行
版本控制系统Git 是一个开源的分布式版本控制系统,能敏捷高效地处理任何或小或大的项目,通常用于团队开发项目过程中对源码协同编辑和管理。Git 是 Linus Torvalds 在2005年为了帮助管理 Linux 内核开发,基于C开发的一个开源版本控制软件,方便其它内核开发者提交贡献和修改。主要介绍文件管理,远程仓库和分支管理
2023-08-03 13:36:17
763
2
原创 非线性规划求解方法:序列线性规划(Sequential linear programming)
Sequential linear programming (SLP)序列线性规划也叫successive linear programming,是一个用于解决非线性规划问题non-linear programming (NLP)的数学规划方法。SLP能通过泰勒级数展开将NLP转化为一系列线性规划问题linear programming(LP),LP可以通过单纯形法或求解器求得解。
2023-06-09 16:26:12
4010
原创 多目标优化算法评价指标(performance metrics)
单目标优化问题比较各种算法的性能可以直接通过目标值比较,但是多目标优化算法找到的往往是帕累托解,需要一些合适的评价指标来比较这些算法的性能。本文主要介绍hypervolume (HV),generational distance(GD),inverted generational distance(IGD)和set coverage(C),基本文献里用到的都是这几种方法。
2023-04-14 21:50:34
12520
1
原创 Genetic Programming遗传规划python库教程(gplearn和DEAP)
gplearn库和DEAP库的官方教程,gplearn以实现遗传规划为主,DEAP提供了多种进化算法框架
2023-03-31 21:40:25
7435
1
原创 多智能体强化学习(MARL)训练环境总结
目前开源的多智能体强化学习项目都是需要在特定多智能体环境下交互运行,为了更好的学习MARL code,需要先大致了解一些常见的MARL环境以及库。比如petting zoo, SMAC,MPE等
2023-03-24 16:14:34
4987
原创 强化学习稀疏奖励问题(sparse reward)及解决方法
通常在训练智能体时,我们希望每一步动作都有相应的奖励。但是某些情况下,智能体并不能立刻获得奖励,比如全局奖励的围棋,最终获胜会得到奖励,但是人们很难去设定中间每步的奖励,这会导致学习缓慢甚至无法进行学习的问题。稀疏奖励,奖励塑型,课程学习,好奇心模块,分层强化学习
2023-03-22 16:59:08
4396
原创 用迭代局部搜索求解TSP问题(python)
ILS的核心思想:找到一个局部最优解后,对当前解增加一个扰动,得到新解,从新解基础上再进行局部搜索找到新的局部最优。通过迭代不停的找到新的局部最优比较从而找到全局最优,避免的局部搜索容易陷入局部最优的缺点。实现迭代局部搜索只需要写四个函数,生成初始解`GenerateInitialSolution`,局部搜索`LocalSearch`,扰动函数`Perturbation`,判断接收新解`AcceptanceCriterion`。这四个函数的设计方法都会影响最后的搜索解,不同的问题要针对性设计
2023-01-10 21:46:39
2387
2
原创 NSGA-II:快速精英多目标遗传算法(论文+代码解读)
NSGA-II有三个重点的改进:快速非支配排序(fast nondominated sorting),精英保留策略(elitist-preserving),无参数的小生境算子(parameterless niching operator)。NSGA-II的算法流程和算法实现
2023-01-02 20:40:58
34677
22
原创 Discrete Optimization课程笔记(5)—混合整数规划
MIP模型,分支定界,割平面法,切割类型,分支割平面,big-M,覆盖切割,最大独立集
2022-12-20 17:04:45
3641
原创 用Gurobi+python求解设施选址问题(facility location)
用Gurobi+python求解设施选址问题(facility location),MIP模型
2022-12-16 21:21:32
5384
原创 Discrete Optimization课程笔记(4)—线性规划
线性规划模型,几何性质,矩阵性质,代数性质,单纯形法,对偶模型,互补松弛定理
2022-12-14 20:30:38
1279
原创 Discrete Optimization课程笔记(3)—局部搜索
局部搜索,如何交换邻域,启发式算法,元启发式算法如迭代局部搜索,禁忌搜索,模拟退火,常见的局部搜索案例如旅行商问题,图着色问题,
2022-12-02 14:24:56
3010
原创 多智能体强化学习MARL的概念和框架
多智能体包括完全合作,完全竞争,合作和竞争已经利己主义。有三种框架:完全中心化,完全去中心化,中心化学习和去中心化执行
2022-11-23 21:50:40
3249
原创 python复杂网络分析库NetworkX
NetworkX 是一个Python包,用于创建、操作和研究复杂网络的结构和功能。提供以下内容: - 图、有向图和多重图的数据结构 - 许多标准图算法(最短路,最大流等) - 网络结构及分析方法 - 经典图、随机图和合成网络的生成器 - .........用Networks求解图着色问题
2022-11-21 21:26:26
8687
原创 Discrete Optimization课程笔记(2)—约束规划
约束规划使用约束减少每个变量取值集合移除不可能出现在任何解的值精确解而非启发式解:足够时间,能找到满意解和最优解怎么使用约束缩小搜索空间,排除不可能出现在任何解的取值;约束传播,元素约束,全局约束,对称性破缺,冗余约束,搜索策略,图着色问题编程代码
2022-11-11 20:03:58
2748
原创 Gurobi求解器基础入门官方教程
Gurobi是一种数学规划(线性和凸二次规划)优化器。支持多种语言接口,本文以python+gurobi为主。
2022-10-31 16:06:59
23450
4
原创 Discrete Optimization课程笔记(1)—背包问题
背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。分别用动态规划和gurobi求解器解决背包问题
2022-10-21 18:12:29
1643
原创 python数据分析库pandas官方教程
10个知识点: - pandas库处理什么类型的数据 - 怎么读取和存储数据 - 如何选择DataFrame子集 - 如何在pandas里绘图 - 如何从已有的列创建新列 - 如何计算统计值 - 如何重新设计表格的布局 - 如何从多个表格连接数据 - 如何处理时间序列数据 - 如何处理文本数据
2022-10-07 20:51:02
1411
1
原创 python日志记录库logging介绍
`Logging`日志记录用于追踪软件运行过程中触发的事件。开发人员志将`logging calls`添加到代码中以指示某件事发生了。事件由消息描述,该消息可以包含一些可变数据(如事件每次出现可能产生不同的数据)
2022-09-20 14:53:57
708
2
原创 PyTorch实现PPO代码
actor网络即策略网络,输入state,输出action概率,使用Categorical生成动作分布。critic网络即值网络,输入state,输出state-value。(4)更新估计状态值函数得到critic loss。(2)获取每个mini batch更新后的新策略。(3)执行clip操作得到actor loss。(1)计算GAE优势函数。(5)反向传播更新参数。......
2022-08-28 20:19:58
10104
25
原创 python实现电影院仿真(SimPy)
仿真环境:电影院仿真目标:减少顾客的平均等待时间,少于10分钟在开始仿真前,先思考这个仿真过程,顾客在坐下来看电影前需要经过哪些步骤这些步骤中又一些是可以控制的,比如有多少雇员在卖票或者卖小零食,有一些步骤需要依赖之前的数据进行预测,比如有多少顾客到达,接下来开始仿真过程,首先导入需要的库记录优化目标:找到雇员的最佳数量,使所有顾客的平均等待时间小于10分钟,使用列表存储顾客等待时间。
2022-08-24 23:23:16
2151
1
原创 离散事件仿真原理DES
离散系统属于动态类型仿真由事件驱动(event),事件的发生(occur)是离散且随机的,即系统状态变量(state)的取值是依时间轴离散且随机分布的此类系统无法用数学方程描述DES使用两种事件推进机制:后续事件时间推进机制(next event time advance NETA);固定步长时间推进机制(fixed increment time advance FITA)
2022-08-22 15:20:11
6999
4
原创 Advantage Actor-Critic优势演员-评论员(A2C)
演员-评论员算法是结合策略梯度和时序差分学习的强化学习方法(建议学习路线:PG——A2C——PPO )
2022-08-15 16:15:07
1363
2
原创 Proximal Policy Optimization近端策略优化(PPO)
PPO有两个主要的变种:近端策略优化惩罚(PPO-penalty)和近端策略优化裁剪(PPO-clip),重要性采样,KL散度,裁剪函数,异策略
2022-08-14 21:19:42
2821
2
原创 python离散事件仿真库SimPy官方教程
参考simpy官网。SimPy有三个关键的组成部分: - ==**environment**==(环境):存储events在事件列表里,不断追踪当前仿真时间 - ==**event**==(事件):仿真过程中的各种异步事件 - ==**process**== function(进程函数):用来实现你的仿真模型,也就是定义你的仿真行为,它们是普通的Python生成器函数,可以生成events实例......
2022-07-20 10:13:22
7622
4
RCPSP-gurobi-J30-master
2023-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人