- 博客(29)
- 资源 (33)
- 问答 (1)
- 收藏
- 关注
原创 Python小白的数学建模课-04.整数规划
整数规划与线性规划的差别只是变量的整数约束。问题区别一点点,难度相差千万里。选择简单通用的编程方案,让求解器去处理吧。『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达人。1. 从线性规划到整数规划1.1 为什么会有整数规划?线性规划问题的最优解可能是分数或小数。整数规划是指变量的取值只能是整数的规划。这在实际问题中很常见,例如车间人数、设备台数、行驶次数,这些变量显然必须取整数解。整数规划并不一定是线性规划问题的变量取整限制,对于二次规划、非线性规划问题也有.
2021-05-31 16:31:35 8032 36
原创 Python小白的数学建模课-A1.国赛赛题类型分析
分析赛题类型,才能有的放矢。评论区留下邮箱地址,送你国奖论文分析『Python小白的数学建模课 @ Youcans』 带你从数模小白成为国赛达人。1. 数模竞赛国赛 A题类型分析年份题目要求方法2020A炉温曲线建立温度模型,计算炉温曲线,确定最大速度根据传热学方程建立温度分布机理模型;建立单目标优化模型微分方程单目标优化2019A高压油管的压力控制确定不同条件下的控制方案根据力学方程建立压力变化机理方程;建立单目标优化模型微分方程单目标优.
2021-05-31 09:58:59 3718 37
原创 Python小白的数学建模课-03.线性规划
线性规划是很多数模培训讲的第一个算法,算法很简单,思想很深刻。要通过线性规划问题,理解如何学习数学建模、如何选择编程算法。『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人。1. 求解方法、算法和编程方案线性规划 (Linear Programming,LP) 是很多数模培训讲的第一个算法,算法很简单,思想很深刻。线性规划问题是中学数学的内容,鸡兔同笼就是一个线性规划问题。数学规划的题目在高考中也经常出现,有直接给出线性约束条件求线性目标函数极值,有间接...
2021-05-29 18:05:15 6603 20
原创 Python小白的数学建模课-A2.2021年数维杯C题(运动会优化比赛模式探索)探讨
Python数学建模 A1-2021年数维杯C题(运动会优化比赛模式探索)探讨。运动会优化比赛模式问题,是公平分配问题『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人。2021第六届数维杯大学生数学建模 赛题已于5月27日公布,C题是"运动会优化比赛模式探索"。本文对赛题进行一些分析讨论。由于竞赛时间为 2021年5月27-30日20:00,目前尚处于竞赛中,本文仅做初步分析。1. 赛题内容(运动会优化比赛模式探索)在大学的运动会中,由于大学各学院同学人数与性别之间.
2021-05-28 11:48:16 5644 15
原创 Python的数学建模课-02.数据导入
数据导入是所有数模编程的第一步,比你想象的更重要。先要学会一种未必最佳,但是通用、安全、简单、好学的方法。『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人。1. 数据导入是所有数模编程的第一步编程求解一个数模问题,问题总会涉及一些数据。有些数据是在题目的文字描述中给出的,有些数据是通过题目的附件文件下载或指定网址提供的,还有些数据是需要自己搜集的。不论是哪种方式获得的数据,也不论哪种类型的问题和算法,首先都是要把这些数据以适当的方式和格式导入到程序中。如果数据格式有.
2021-05-27 17:27:07 8671 13
原创 Python小白的数学建模课-01.新手必读
Python 完全可以满足数学建模的需要。本系列面向数模小白 & Python 小白,从零开始,按照 Matlab 数学建模培训的框架体系,系统讲解 Python 语言的实现方案。着重讲算法的使用过程;讲算法思想,不讲算法内容;讲算法应用条件,不讲算法实现过程。所有例程都是调试运行通过,带有不厌其烦的详细注释、说明和运行结果。『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人。
2021-05-26 16:33:35 11279 17
原创 Python数模笔记-NetworkX(5)关键路径法
关键路径法(Critical path method,CPM)是一种计划管理方法,通过分析项目过程中工序进度安排寻找关键路径,确定最短工期,广泛应用于系统分析和项目管理。1、拓扑序列与关键路径1.1 拓扑序列一个大型工程或项目包括很多子项目,在整个项目中有些子项目没有先决条件,可以安排在任何时间开始;而有些子项目必须安排在其它子项目完成之后才能开始,也就是需要以所有前序子项目的结束为先决条件。通过有向图可以直观反映项目中各个子项目之间的关系。图中的顶点代表活动,有向边代表活动的先后关系。有向边的.
2021-05-25 18:51:19 4327 1
原创 Python数模笔记-NetworkX(4)最小生成树
1、生成树和最小生成树1.1 生成树连通的无圈图称为树,就是不包含循环的回路的连通图。对于无向连通图,生成树(Spanning tree)是原图的极小连通子图,它包含原图中的所有 n 个顶点,并且有保持图连通的最少的边,即只有足以构成一棵树的 n-1 条边。生成树满足:(1)包含连通图中所有的顶点;(2)任意两顶点之间有且仅有一条通路。因此,生成树中边的数量 = 顶点数 - 1。对于非连通无向图, 遍历每个连通分量中的顶点集合所经过的边是多颗生成树,这些连通分量的生成树构成非连通图的生.
2021-05-22 09:49:17 5100
原创 Python数模笔记-Scipy库(1)线性规划问题
1、最优化问题建模最优化问题的三要素是决策变量、目标函数和约束条件。(1)分析影响结果的因素是什么,确定决策变量(2)决策变量与优化目标的关系是什么,确定目标函数(3)决策变量所受的限制条件是什么,确定约束条件最优化问题的建模,通常按照以下步骤进行:(1)问题定义,确定决策变量、目标函数和约束条件;(2)模型构建,由问题描述建立数学方程,并转化为标准形式的数学模型;(3)模型求解,用标准模型的优化算法对模型求解,得到优化结果;(4)模型检验,统计检验和灵敏度分析。欢迎关注 Y.
2021-05-21 12:27:36 1612
原创 Python数模笔记-NetworkX(3)条件最短路径
1、带有条件约束的最短路径问题最短路径问题是图论中求两个顶点之间的最短路径问题,通常是求最短加权路径。条件最短路径,指带有约束条件、限制条件的最短路径。例如,顶点约束,包括必经点或禁止点的限制;边的约束,包括必经路段或禁止路段;还包括无权路径长度的限制,即经过几步到达终点。进一步地,还有双目标限制的最短路径问题,求最短距离中花费最小的路线;交通限制条件下的最短路径问题,需要考虑转向限制和延误的约束。求解带有限制条件的最短路径问题,总体来说可以分为两类基本方法:一类是基于不带限制条件的最短路径算法,对求
2021-05-21 09:02:49 3368 1
原创 Python数模笔记-NetworkX(2)最短路径
1、最短路径问题的常用算法最短路径问题是图论研究中的经典算法问题,用于计算图中一个顶点到另一个顶点的最短路径。1.1 最短路径长度与最短加权路径长度在日常生活中,最短路径长度与最短路径距离好像并没什么区别。但在具体的图论问题中却可能是不同的概念和问题,经常会被混淆。图论中有无权图和有权图,无权图中的边没有权,赋权图的边带有权,可以表示距离、时间、费用或其它指标。在问题文字描述中,往往并不直接指出是无权图还是有权图,这时就要注意最短路径与最短加权路径的区别。路径长度是把每个顶点到相邻顶点的长度记为 1
2021-05-18 20:22:21 7692 2
原创 Python数模笔记-NetworkX(1)图的操作
1、NetworkX 图论与网络工具包NetworkX 是基于 Python 语言的图论与复杂网络工具包,用于创建、操作和研究复杂网络的结构、动力学和功能。NetworkX 可以以标准和非标准的数据格式描述图与网络,生成图与网络,分析网络结构,构建网络模型,设计网络算法,绘制网络图形。NetworkX 提供了图形的类、对象、图形生成器、网络生成器、绘图工具,内置了常用的图论和网络分析算法,可以进行图和网络的建模、分析和仿真。NetworkX 的官网和文档官网地址:https://networkx.
2021-05-17 18:12:33 5231
原创 Python数模笔记-Sklearn(5)支持向量机
支持向量机(Support vector machine, SVM)是一种二分类模型,是按有监督学习方式对数据进行二元分类的广义线性分类器。支持向量机经常应用于模式识别问题,如人像识别、文本分类、手写识别、生物信息识别等领域。1、支持向量机(SVM)的基本原理SVM 的基本模型是特征空间上间隔最大的线性分类器,还可以通过核函数方法扩展为非线性分类器。**SVM 的分割策略是间隔最大化,通过寻求结构化风险最小来提高模型的泛化能力,实现经验风险和置信范围的最小化。**SVM 可以转化为求解凸二次规划的
2021-05-16 11:01:00 12846 3
原创 Python数模笔记-Sklearn(4)线性回归
1、什么是线性回归?回归分析(Regression analysis)是一种统计分析方法,研究自变量和因变量之间的定量关系。回归分析不仅包括建立数学模型并估计模型参数,检验数学模型的可信度,也包括利用建立的模型和估计的模型参数进行预测或控制。按照输入输出变量关系的类型,回归分析可以分为线性回归和非线性回归。线性回归(Linear regression) 假设样本数据集中的输出变量(y)与输入变量(X)存在线性关系,即输出变量是输入变量的线性组合。线性模型是最简单的模型,也是非常重要和应用广泛的模型。如
2021-05-13 13:54:27 5148 3
原创 Python数模笔记-Sklearn(3)主成分分析
主成分分析(Principal Components Analysis,PCA)是一种数据降维技术,通过正交变换将一组相关性高的变量转换为较少的彼此独立、互不相关的变量,从而减少数据的维数。1、数据降维1.1 为什么要进行数据降维?为什么要进行数据降维?降维的好处是以略低的精度换取问题的简化。人们在研究问题时,为了全面、准确地反映事物的特征及其发展规律,往往要考虑很多相关指标的变化和影响。尤其在数据挖掘和分析工作中,前期收集数据阶段总是尽量收集能够获得的各种数据,能收尽收,避免遗漏。多变量、大样本
2021-05-11 17:17:19 5542
原创 Python数模笔记-Sklearn(2)聚类分析
Python数模笔记-Sklearn(1)样本聚类分析1、分类的分类分类的分类?没错,分类也有不同的种类,而且在数学建模、机器学习领域常常被混淆。首先我们谈谈有监督学习(Supervised learning)和无监督学习(Unsupervised learning),是指有没有老师,有没有纪委吗?差不多。有老师,就有正确解法,就有标准答案;有纪委,就会树学习榜样,还有反面教材。有监督学习,是指样本数据已经给出了正确的分类,我们通过对正确分类的样本数据进行学习,从中总结规律,获取知识,付诸应用。所
2021-05-10 14:52:28 8273 1
原创 Python数模笔记-Sklearn (1)介绍
1、SKlearn 是什么Sklearn(全称 SciKit-Learn),是基于 Python 语言的机器学习工具包。Sklearn 主要用Python编写,建立在 Numpy、Scipy、Pandas 和 Matplotlib 的基础上,也用 Cython编写了一些核心算法来提高性能。Sklearn 包括六大功能模块:分类(Classification):识别样本属于哪个类别,常用算法有 SVM(支持向量机)、nearest neighbors(最近邻)、random forest(随机森林
2021-05-09 15:46:05 3584
原创 Python数模笔记-StatsModels 统计回归(4)可视化
Python学习笔记-StatsModels 统计回归(4)可视化1、如何认识可视化?图形总是比数据更加醒目、直观。解决统计回归问题,无论在分析问题的过程中,还是在结果的呈现和发表时,都需要可视化工具的帮助和支持。 需要指出的是,虽然不同绘图工具包的功能、效果会有差异,但在常用功能上相差并不是很大。与选择哪种绘图工具包相比,更重要的是针对不同的问题,需要思考选择什么方式、何种图形去展示分析过程和结果。换句话说,可视化只是手段和形式,手段要为目的服务,形式要为内容服务,这个关系一定不能颠倒了。
2021-05-08 22:39:59 3481 3
原创 Python数模笔记-StatsModels 统计回归(3)模型数据的准备
1、读取数据文件回归分析问题所用的数据都是保存在数据文件中的,首先就要从数据文件读取数据。数据文件的格式很多,最常用的是 .csv,.xls 和 .txt 文件,以及 sql 数据库文件的读取 。使用 pandas 从数据文件导入数据的程序最为简单,示例如下:(1)读取 .csv 文件: df = pd.read_csv("./example.csv", engine="python", encoding="utf_8_sig") # engine="python"允许处理中文路径,
2021-05-07 13:04:52 3873 5
原创 Python数模笔记-StatsModels 统计回归(2)线性回归
1、背景知识1.1 插值、拟合、回归和预测插值、拟合、回归和预测,都是数学建模中经常提到的概念,而且经常会被混为一谈。插值,是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。 插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。拟合,是用一个连续函数(曲线)靠近给定的离散数据,使其与给定的数据相吻合。因此,插值和拟合都是根据已知数据点求变化规律和特征相似的近似曲线的过程,但是插值要求近似曲线完全经过给定的数据点,而拟合只
2021-05-06 10:44:56 10806 3
原创 Python数模笔记-StatsModels 统计回归(1)简介
关于 StatsModelsstatsmodels(http://www.statsmodels.org)是一个Python库,用于拟合多种统计模型,执行统计测试以及数据探索和可视化。文档最新版本的文档位于:https://www.statsmodels.org/stable/主要功能线性回归模型:普通最小二乘法广义最小二乘法加权最小二乘法具有自回归误差的最小二乘法分位数回归递归最小二乘法具有混合效应和方差分量的混合线性模型glm:支持所有一个参数的广义线性模型 指.
2021-05-04 10:01:39 5415 2
原创 Python数模笔记-模拟退火算法(4)旅行商问题
模拟退火算法(4)旅行商问题1、旅行商问题(Travelling salesman problem, TSP)旅行商问题是经典的组合优化问题,要求找到遍历所有城市且每个城市只访问一次的最短旅行路线,即对给定的正权完全图求其总权重最小的Hamilton回路:设有 n个城市和距离矩阵 D=[dij],其中dij表示城市i到城市j的距离(i,j = 1,2 … n),则问题是要找出遍访每个城市恰好一次的一条回路并使其路径长度为最短。旅行商问题属于NP完全问题,其全局优化解的计算量以问题规模的阶乘关系增长。旅
2021-05-04 09:42:49 5345 1
原创 Python数模笔记-模拟退火算法(3)整数规划问题
1、整数规划问题整数规划问题在工业、经济、国防、医疗等各行各业应用十分广泛,是指规划中的变量(全部或部分)限制为整数,属于离散优化问题(Discrete Optimization)。线性规划问题的最优解可能是分数或小数。但很多实际问题常常要求某些变量必须是整数解,例如:机器的台数、工作的人数或装货的车数。根据对决策变量的不同要求,整数规划又可以分为:纯整数规划、混合整数规划、0-1整数规划、混合0-1规划。整数规划与线性规划的差别只在于增加了整数约束。初看起来似乎只要把线性规划得到的非整数解舍入化整.
2021-05-03 09:49:39 6807 4
原创 Python数模笔记-模拟退火算法(2)约束条件的处理
1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linear programming),是研究线性约束条件下线性目标函数的极值问题的优化方法,常用于解决利用现有的资源得到最优决策的问题。简单的线性规划问题可以用 Lingo软件求解,Matlab、Python 中也有求解线性规划问题的库函数或求解器,很容易学习和使用,并不需要用模拟退火算法。但是,由一般线性规划问题所衍生的整数规划、混合规划、0/1规划、二次规划、非线性规划、组合优化问题,则并不是调用某个库函数都能处理.
2021-05-03 09:40:07 11370 7
原创 Python数模笔记-模拟退火算法(1)多变量函数优化
1、模拟退火算法模拟退火算法借鉴了统计物理学的思想,是一种简单、通用的启发式优化算法,并在理论上具有概率性全局优化性能,因而在科研和工程中得到了广泛的应用。退火是金属从熔融状态缓慢冷却、最终达到能量最低的平衡态的过程。模拟退火算法基于优化问题求解过程与金属退火过程的相似性,以优化目标为能量函数,以解空间为状态空间,以随机扰动模拟粒子的热运动来求解优化问题([1] KIRKPATRICK,1988)。模拟退火算法结构简单,由温度更新函数、状态产生函数、状态接受函数和内循环、外循环终止准则构成。温度.
2021-05-03 09:30:08 11172 4
原创 Python数模笔记-PuLP库(3)线性规划实例
本节以一个实际数学建模案例,讲解 PuLP 求解线性规划问题的建模与编程。1、问题描述某厂生产甲乙两种饮料,每百箱甲饮料需用原料6千克、工人10名,获利10万元;每百箱乙饮料需用原料5千克、工人20名,获利9万元。今工厂共有原料60千克、工人150名,又由于其他条件所限甲饮料产量不超过8百箱。 (1)问如何安排生产计划,即两种饮料各生产多少使获利最大? (2)若投资0.8万元可增加原料1千克,是否应作这项投资?投资多少合理? (3)若每百箱甲饮料获利可增加1万元,是否应否改变生产计划? (.
2021-05-03 09:22:54 9794 21
原创 Python数模笔记-PuLP库(1)线性规划入门
Python学习笔记-PuLP库(1)线性规划入门1、什么是线性规划线性规划(Linear programming),在线性等式或不等式约束条件下求解线性目标函数的极值问题,常用于解决资源分配、生产调度和混合问题。例如:max fx = 2*x1 + 3*x2 - 5*x3s.t. x1 + 3*x2 + x3 <= 12 2*x1 - 5*x2 + x3 >= 10 x1 + x2 + x3 = 7 x1, x2, x3 >=0线性规划问题的建模和求解,通常
2021-05-03 09:16:03 36896 12
原创 Python数模笔记-PuLP库(2)线性规划进阶
Python学习笔记-PuLP库(2)线性规划进阶1、基于字典的创建规划问题上篇中介绍了使用 LpVariable 对逐一定义每个决策变量,设定名称、类型和上下界,类似地对约束条件也需要逐一设置模型参数。在大规模的规划问题中,这样逐个定义变量和设置模型参数非常繁琐,效率很低。Pulp 库提供了一种快捷方式,可以结合 Python语言的循环和容器,使用字典来创建问题。 (1)使用快捷方法建立一个规划问题,可以用字典类型(dict) 建立多个变量,例如:name = [‘废料1’, ‘废料2’,
2021-05-03 08:59:25 11540 11
Visual ChatGPT: Talking, Drawing and Editing with Visual F
2023-03-15
2020中国智能家居生态发展白皮书
2023-03-10
欧瑞博智能体验馆设计标准
2023-03-10
2019中国智能家居发展白皮书
2023-03-10
HDL河东智能家居解决方案
2023-03-10
HDL无线家居智能解决方案
2023-03-10
带有 Opencv-contrib 的 OpenCV-Python 库
2022-12-27
爱心源码-基于傅里叶描述符实现
2022-12-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人