- 博客(168)
- 资源 (2)
- 收藏
- 关注
原创 Python标准库itertools模块
itertools.chain 是 Python 标准库 itertools 模块中的一个函数,用于将多个可迭代对象(如列表、元组、集合等)连接成一个单一的可迭代对象。这在需要在一个循环中处理多个序列时特别有用,而不需要先将它们连接成一个单一的列表。
2024-07-30 15:42:13
206
原创 参数估计方法:利用样本统计量估计总体统计量
在统计学中,矩是描述数据分布特征的一种度量。原点矩(Raw Moments)。k阶原点矩定义为:μk′EXkμk′EXk,例如,第一阶原点矩是均值 E(X),第二阶原点矩是EX2E(X^2)EX2。中心矩(Central Moments)。k阶中心矩定义为:μkEX−μkμkE[(X−μk。例如,第一阶中心矩是0,第二阶中心矩是方差VarXEX−μ2VarXE[(X−μ2。
2024-07-23 16:05:06
1195
原创 什么是随机变量
数学定义是:随机变量就是“其值会随机而定的变量”。设随机试验E的样本空间为Ω=\{w\},如果对每一个w∈Ω,都有唯一的实数XwX(w)Xw与之对应,并且对任意实数xw∣Xw≤xw∈Ωxw∣Xw≤xw∈Ω是随机事件,则称定义在ΩΩΩ上的实值单值函数XwX(w)Xw为随机变量。简记为XXX。通俗一点:在概率论中,随机变量是一个函数,它将样本空间中的每一个样本点映射到实数或其他数学对象。
2024-07-22 15:00:36
747
原创 基于最优分割算法的染色体编码方式
在使用智能算法求解带时间窗的车辆路径规划问题(VRPTW)时,面临的第一个问题就是初始解的构造,不同于旅行商问题(TSP)所有客户随机排列(Sequence/Permutaion)即一个初始解。VRPTW的初始解构造需要考虑两点:每辆车的载重量上限、客户时间窗约束。本文基于一种最优分割算法生成染色体。
2024-07-22 13:57:12
885
原创 基于遗传算法和决策树的特征选择
使用遗传算法进行特征选择,并使用决策树算法评估每个特征选择方案的分类性能。通过这种方式,可以找到最优的特征子集,从而提高分类模型的性能。遗传算法通过模拟生物进化过程,逐步优化特征选择方案,而决策树算法则提供了快速评估特征选择方案的手段。
2024-07-17 21:48:51
380
原创 数学建模中的辅助变量、中间变量、指示变量
在数学建模中,除了决策变量外,还有一些其他类型的变量,如中间变量、辅助变量和指示变量。每种变量在模型中都有特定的用途和意义。
2024-07-13 21:23:31
1980
原创 Python解包语法
Python 的解包语法是一种方便的方式,用于将可迭代对象(如列表、元组、字典等)中的元素解包到变量中。解包语法可以用于多种场景,包括函数参数传递、变量赋值等。
2024-07-13 21:05:44
425
原创 基于CVXPY的优化问题建模求解
定义一个标量变量 x# 定义一个长度为 n 的向量变量 xn = 5# 定义一个 m 行 n 列的矩阵变量 Xm = 3n = 4# 定义一个非负的标量变量 x# 定义一个非负的向量变量 xn = 5# 定义一个对称矩阵变量 Xm = 3# 定义一个整数标量变量 x# 定义一个整数向量变量 xn = 5# 定义一个布尔标量变量 x# 定义一个布尔向量变量 xn = 5CVXPY 来定义和求解一个优化问题:目标是最小化x−12y−22x−12。
2024-07-05 08:09:43
1257
原创 OR-Tools求解器(CBC,Coin-or branch and cut)日志解读
表示求解器找到了一个整数解,目标函数值为 9.1208831e+08(即 912088310)。0 iterations:表示求解器在找到整数解之前没有进行任何迭代。0 nodes:表示求解器在找到整数解之前没有探索任何节点。求解器通常会在整数间隙小于某个阈值时停止求解,因为此时认为已经找到了足够接近最优解的解。扰动是求解器在处理数值稳定性问题时常用的一种技术,通过对问题的系数进行微小的调整来避免数值不稳定性。括号中的数字表示不满足的约束数量。表示求解器找到了一个最优解,目标函数值为 24123912。
2024-06-08 00:09:20
1242
原创 OR-Tools求解器参数控制
相对MIP间隙(Relative MIP Gap):相对 MIP 间隙是指当前最优整数解(可行解)与当前最优松弛解(忽略整数约束的解)之间的相对差距。∣∣∣−∣相对 MIP 间隙的值通常是一个百分比,用来衡量当前解与最优解之间的相对差距。求解器会在相对 MIP 间隙小于设定的阈值时停止求解。绝对 MIP 间隙(Absolute MIP Gap):绝对 MIP 间隙是指当前最优整数解与当前最优松弛解之间的绝对差距。∣−∣。
2024-06-07 23:30:03
844
原创 使用Python库Matplotlib绘制常用图表类型
箱线图(Box plot),也称为盒须图,是一种用于显示数据分布的统计图表。它通过显示数据的五个统计量(最小值、第一四分位数、中位数、第三四分位数和最大值)来概括数据的分布情况。- 显示数据分布情况:箱线图提供了对数据分布的直观概览,包括数据的集中趋势、分散程度和对称性。- 识别异常值:箱线图通过“须”的长度和离群点(异常值)显示数据中的异常值或极端值。- 比较不同组的数据:箱线图可以并排显示多个数据集,方便比较不同组的分布情况。
2024-06-01 10:59:35
753
原创 数据处理随机采样前提条件
数据应该是独立且同分布的。也就是说,每个数据点是独立于其他数据点生成的,并且所有数据点来自相同的分布。这确保了样本能够代表总体分布的特性。:采样方法应该是无偏的,这意味着每个数据点被选中的概率是相等的。满足这些前提条件,可以确保随机采样的结果具有统计意义,并能够有效地用于后续的数据分析和模型训练等任务。:样本量应该足够大,以便能够有效地代表总体。:总体数据集需要是明确定义和有限的。在进行随机采样时,需要清楚地知道总体的边界和范围。:数据集应该是完整且高质量的。缺失值或错误值可能会影响采样结果的准确性。
2024-05-31 18:24:38
295
原创 vscode导入自定义模块报错ModuleNotFoundError解决方案
我打印os.getcwd(),输出为C:\Users\pengkangzhen\PycharmProjects\wk-projects\great_gas_or_agents\log_data_extract。
2024-05-31 18:23:09
909
原创 Python保存为json中文Unicode乱码解决json.dump()
加s的(loads、dumps)操作的是字符串不加s的(load、dump)操作的是文件,用于读写文件。
2024-05-29 14:08:52
2334
原创 多层感知机
感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机旨在求出将输入空间中的实例划分为两类的分离超平面。为求得超平面,感知机导入了基于误分类的损失函数,利用梯度下降法对损失函数进行最优化求解。
2024-05-26 21:19:02
1332
原创 计算图与自动微分
符号微分是一种基于符号计算的自动求导方法,符号计算也叫代数计算,是指用计算机处理处理带有变量的数学表达式,这里的变量被看作符号(symbols),一般不需要代入具体的值。自动微分是一种可以对一个函数进行计算导数的方法,其基本原理是所有的数值计算可以分解为一些基本操作,包含±*/,和一些初等函数exp,log,sin,cos等,然后利用链式法则来自动计算一个符合函数的梯度。要计算函数 𝑓(𝑥) 在点 𝑥 的导数,可以对 𝑥 加上一个很少的非零的扰动 Δ𝑥,通过上述定义来直接计算函数𝑓(𝑥)的梯度。
2024-05-10 23:07:11
1179
原创 Git克隆仓库报错:HTTP/2 stream 1 was not closed
http/2 和 http/1.1之间有个区别是“HTTP2 基于 SPDY,专注于性能,最大的一个目标是在用户和网站间只用一个连接”。
2024-05-08 10:47:54
2374
原创 大数定律与中心极限定理
大数定律描述了独立同分布随机变量序列的算术平均值依概率收敛到分布的数学期望;中心极限定理描述了独立同分布随机变量序列之和的分布逼近于正分布。在很多场合中都能见到被冠以“大数定律”和“中心极限定理”的各类结论。
2024-03-22 14:54:49
3243
原创 使用粒子群算法求解约束优化问题
为了保证解的逼近质量,无约束优化问题的目标函数为原约束优化问题的目标函数加上与约束函数有关的惩罚项。例如梯度法中沿着负梯度方向下降所得的点未必是可行点,要寻找的最优解处目标函数的梯度也不是零向量,这使得约束优化问题比无约束优化问题要复杂许多。二次罚函数的特点如下:对于非可行点而言,当σ变大时,惩罚项在罚函数中的权重加大,对罚函数求极小,相当于迫使其极小点向可行域靠近;的可行点,这显然不是我们需要的,必须对原有二次罚函数进行改造来得到新的二次罚函数,它应该具有如下特点:仅仅惩罚。
2024-03-18 15:28:01
2656
1
原创 车辆路径优化问题(VRP)变体及数学模型
带容量约束的车辆路径优化问题,CVRP,对一系列装卸货点进行适当的路径规划,在满足约束条件(客户需求、车辆载重和容积、车型、车辆行驶里程、配送中心数量等限制)和目标最优化(路程最短、成本最低、使用车辆数最少、配送时间最快等)下,将客户的配送需求从配送中心送达客户点,或从客户点送回配送中心。车辆路径优化问题是一种非常常见的优化问题,在给定一组客户点、车辆容量、车辆数量、起始点和终点,目标是找到使得所有客户点都被访问一次的最短路径方案。算法输出:每辆车的行驶路径,经过的客户点,以及总成本。
2024-03-13 23:43:06
7675
原创 二次规划&二次约束规划建模求解
二次规划问题 QP 是解决在目标函数内部有如 x 平方以及 xy 等二次项的这样的问题。二次规划问题最早在金融领域提出,用来做投资组合优化。二次约束规划问题 QCP 则是在问题约束之内有二次项。
2024-03-13 23:16:23
3244
原创 带时间窗的取送货问题(Pickup and Delivery Problem with Time Windows)
广义取送货问题(General Pickup and Delivery Problems,GPDP)可以分为两类:Backhauls,VRPB:从配送中心(depot)取货运输货物到客户点,再从客户点取货运输至配送中心交付(backhoul)。,VRPPD:货物在取货点和送货点之间流转。
2024-03-02 22:05:24
1730
原创 使用Java读取VRP问题标准测试集:C101.txt
JavaIO读取C101.txt文件:# 一、split分割带空格的字符串(四种方法及其区别)# 二、使用trim()方法删除字符串的头尾空白符# 三、使用JDK1.5的Scanner类读取C101.txt
2024-02-10 16:31:26
370
原创 最短路径问题相关算法、原理及适用场景
比较有效的算法之一是马丁斯(Martins)在1999年提出的MPS算法,其特点是简化了偏离路径的长度计算,在生成候选边时不像Yen算法那样计算每条候选路径的长度,而是要求更新每条弧上的减少长度,只选择长度减少最小的弧作为最短偏离路径,该算法在一般情况下可以提高运行速度,但是在最差的情况下与Yen算法的时间复杂度一样。Dijkstra算法和Floyd算法均为动态规划算法且是一种贪心算法,即进行无方向性的搜索,每一步转移都由计算机选择当前的最优解并生成新的状态,一直到达目标状态为止。
2024-01-08 15:55:27
2476
原创 python中import mysql.connector出错无模块,且是已经pip install mysql-connector情况下
有人说mysql-connector已弃用,应该使用mysql-connector-python(https://blog.csdn.net/qq_45463933/article/details/121619416)很奇怪,查找python interperter发现我的py3.9_or环境并不在envs目录下,选择py3.9_or创建py3.9_or(2)环境在envs目录下,按理说这两个路径是一样的,将Anaconda卸载。重装Anaconda后,执行安装成功。
2023-12-12 19:39:33
1357
原创 基于A*的最短路径问题求解
A*搜索算法(A star algorithm)是用于寻路和图遍历的最佳和流行的技术之一。A*搜索算法,不像其他传统算法,它有“大脑”,是一个真正的智能算法将它与其他传统算法区分开来,A*算法作为Dijkstra算法和BFS的结合算法,其与这两种算法的区别就是采用了启发函数,这也是这个算法的核心。许多游戏和基于web的地图都使用这种算法来非常有效地找到最短路径(近似)。为了在现实生活中接近最短路径,比如在地图中,有很多障碍的游戏中。
2023-12-01 23:11:09
2070
2
原创 队列实现方式、效率分析及应用场景
队列是一种特殊的线性表,遵循先入先出、后入后出的基本原则,一般来说,它只允许在表的前端进行删除操作,而在表的后端进行插入操作,但是Java的某些队列允许在任何地方插入删除(Python则不能),这是因为这些队列实现了Collections接口;比如我们常用的LinkedList集合,它实现了Queue接口,因此,我们可以理解为 LinkedList 就是一个队列;
2023-11-27 13:06:40
933
原创 基于scipy的线性规划问题求解
Scipy.optimize是Scipy中一个用于解决数学模型中优化类模型的子包,该子包中又包含了多个子功能模块见下表,不同方法不同条件求解最优化模型。本节介绍linprog对线性规划问题的模型建立与求解。
2023-11-09 17:28:41
262
原创 多式联运路径优化问题:基于拓扑排序的遗传算法染色体编码
在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。【注】:有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。例如,下面这个图,它是一个 DAG 图,那么如何写出它的拓扑排序呢?
2023-11-04 12:59:08
451
原创 基于Networkx的最短路径
networkx是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。networkx支持创建简单无向图、有向图和多重图(multigraph);内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富,简单易用。
2023-11-04 10:59:25
889
原创 基于OR-Tools的装箱问题模型求解(PythonAPI)
装箱问题(packing problem)的描述是要将一组给定尺寸的物品放置到具有固定容量的容器中,一般情况下由于容器有容量限制,不可能放入所有物品,那么装箱问题的目标是要找到限定约束下使得总价值最大或总花费最小的装箱方法。
2023-11-02 22:15:11
775
原创 基于OR-Tools的指派问题建模求解(PythonAPI)
指派问题(又称为分配问题,assignment problem)可以抽象概括为:将n个任务(或物品)分配给m个员工(或背包)的问题。其中,最简单的平衡指派模型是指任务数量和员工数量相等的情形。然而,现实生活中的问题大多是任务数量大于员工数量且员工能力有限的广义指派问题(generalized assignment problem,GAP)。GAP是经典的组合优化问题,许多领域的容量约束问题都可以被抽象为GAP进行求解,如机器调度问题、有容量约束的设施选址问题、供应链问题及车辆路径问题等。
2023-10-28 15:26:50
839
原创 基于OR-Tools的整数规划问题求解
整数线性规划中如果所有的变量都限制为(非负)整数,就称为纯整数线性规划(pureinteger linear programming)或称为全整数线性规划(all integer linear programming);如 果仅一部分变量限制为整数,则称为混合整数线性规划(mixed integer linearprogramming)。整数线性规划的一种特殊情形是0—1规划,它的变量取值仅限于0或1。本章最后讲到的指派问题就是一个0—1规划问题。在遵循以下限制条件的情况下,x + 10y 最大化:x +
2023-10-26 14:24:56
510
原创 基于OR-Tools的线性规划问题求解
画出可行域如图所示:声明线性规划求解器MPsolver is a wrapper for several different solvers, including Glop. The code below declares the GLOP solver.
2023-10-25 22:46:13
608
原创 Java和Python中字典键值对的初始化和更新
编程中经常遇到这种数据结构,判断一个map中是否存在这个key,如果存在则处理value的数据,如果不存在,则创建一个满足value要求的数据结构放到value中。
2023-10-10 22:56:12
426
C:\Users\pengkangzhen\Documents\WeChat Files\wxid-k2c7i8tc5u7v22
2024-07-17
top K最短路径问题(K Shortest Path Routing)K最短路径算法与应用分析.pdf
2023-12-22
基于蚁群算法的动态VRP问题离线误差计算
2023-09-09
基于粒子群算法的无约束优化问题求解(Java)
2023-07-01
基于NSGA-II算法的多目标多旅行商问题建模求解(Java)
2023-06-27
自适应遗传算法求解旅行商问题(Java代码)
2023-04-15
基于遗传算法的CVRP建模求解-Python代码
2023-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅