五一校赛
Lingo
Lingo是一种用于线性规划、整数规划、非线性规划、网络优化等问题求解的商业软件。它提供了一个直观的用户界面,使用户可以轻松地建模和解决各种优化问题。Lingo使用了一些先进的优化算法来寻找最优解,包括线性规划中常用的单纯形法以及整数规划中的分支定界法等
这篇文章对Lingo的介绍还不错
Lingo是Linear Interaction and General Optimizer的缩写,中文名称为“交互式线性和通用优化求解器”
还有两款很知名的优化问题求解工具,可以很快的求解大规模的优化问题,尤其整数规划,即Gurobi和Cplex,通过教育邮箱(edu.cn)可以从官网免费下载
- LINGO根据“MAX=”或“MIN=”寻找目标函数,而除注释和TITLE语句外的其他语句都是约束条件,因此语句的顺序并不重要
- 如果对变量的取值范围没有作特殊说明,则默认所有决策变量都非负
评价类
熵权法
熵权法是一种多指标权重确定方法,它利用信息熵的概念来衡量指标之间的不确定性和信息量,进而确定各指标的权重。熵权法的基本思想是,对于一个给定的评价指标体系,如果某个指标的信息熵越大,说明该指标提供的信息量越多,其对决策的影响程度也越大,因此其权重应该越高
以下是熵权法的具体步骤:
- 数据标准化:首先,将评价指标的原始数据进行标准化处理,将其转化为区间在[0, 1]之间的无量纲数据,以消除不同量纲和量纲差异对结果的影响
- 计算信息熵:对于每个指标,计算其信息熵
- 计算权重:根据信息熵计算各指标的权重
- 归一化处理:对得到的权重进行归一化处理,使得各指标的权重之和为1
熵权法的优点在于能够充分考虑各指标之间的相关性和重要性,适用于评价指标较多、相互关联的情况。然而,熵权法也有一些局限性,比如对于数据的敏感性较强,需要足够的样本数据来计算指标的信息熵。此外,该方法也可能受到指标选择和权重计算方法的影响
示例代码:
1 | import pandas as pd |
蒙特卡洛
蒙特卡洛方法(Monte Carlo Method)是一种通过随机抽样来获得数值解的数值计算方法。它的基本思想是通过进行大量的随机实验来估计一个问题的解。这种方法可以用来解决各种复杂的数学、物理、统计等领域的问题,特别是那些难以用解析方法解决的问题。常见的应用包括计算积分、求解微分方程、优化问题等。
蒙特卡洛方法的核心在于通过随机抽样来近似地表示问题的解,然后利用大量的样本数据进行统计分析,从而得到对问题解的估计。它的优势在于可以处理高维、复杂的问题,并且通常比传统的解析方法更灵活、更适用于实际情况。
蒙特卡洛方法的名字来源于摩纳哥的蒙特卡洛赌场,因为在20世纪40年代,该方法的创始人之一Stanislaw Ulam就是在赌场中想到这个方法的
示例代码:
1 | import random |
数据处理类
归一化
归一化是一种常见的数据预处理方法,旨在将数据按比例缩放到一个特定的范围内,以消除不同特征之间的量纲差异或数据尺度差异。这有助于提高模型的收敛速度、减少过拟合,并提高模型的性能和泛化能力。
CSV文件
CSV(Comma-Separated Values,逗号分隔值)用于存储表格数据。CSV 文件中的每一行都代表表格中的一行记录,而每个字段(列)则由逗号(或其他分隔符)来分隔。CSV 文件是一种简单、轻量级、易于处理的文本文件格式,常被用于数据交换、数据导入导出以及数据存储
以下是 CSV 文件的一些特点和用法:
- 简单易懂:CSV 文件是纯文本格式,易于理解和编辑。它只包含了数据本身,没有额外的格式或样式信息,相对于其他格式来说更简单
- 适用性广泛:CSV 文件可以被几乎所有的文本编辑器、电子表格软件和数据库管理系统所支持。因此,它是一种通用的数据交换格式,可用于**在不同的应用程序之间进行数据交换
- 跨平台兼容性:CSV 文件不依赖于特定的操作系统或软件,因此具有很好的跨平台兼容性。无论是在Windows、Mac还是Linux系统下,CSV 文件都可以方便地使用
- 数据存储:由于其简单性和易用性,CSV 文件常被用来存储小型数据集,如配置文件、日志文件、数据库导出等。它也可以用于存储大型数据集,但在某些情况下可能会受到性能和存储效率的限制
用记事本打开csv文件是没有问题的,打开xlsx文件就是乱码(Excel 文件是二进制文件,其中包含了工作表、图表、宏等丰富的数据和格式信息)