- 博客(44)
- 收藏
- 关注
原创 两阶段鲁棒优化的 Benders分解 与 行列生成(C&CG) 算法及算例讲解
本文主要基于Zeng Bo老师2013年发表于《Operations Research Letters》上的文章《Solving two-stage robust optimization problems using a column-and-constraint generation method》和原文电子版全文。讲解了Zeng提出的 行列生成(column-and constraint generation, C&CG) 算法的思路,以及与传统的 Benders分解切平面法(Benders-sty
2022-06-15 13:26:54
7177
原创 Jack用户操作手册:第二章、文件管理
本章将向您介绍Psurf、Figure和Environment文件。您还将学习如何打开文件、导入和导出几何图形,以及如何在Jack中捕捉图像。
2022-06-09 22:45:04
966
原创 Jack用户操作手册:第一章、jack的界面
Jack本章是对jack的控制栏以及窗口的基本工作原理的介绍。我们将使用图标工具栏执行基本命令,使用移动控制器操纵对象,并学习如何在Jack场景中调节。
2022-06-08 13:16:16
1612
2
原创 例题讲解拉格朗日乘子法、线性可分支持向量机(SVM)的推导
支持向量机(Support Vector Machine, SVM)的简单推导及例题
2022-03-28 20:42:48
4823
2
原创 Python手工实现朴素贝叶斯分类及预测
朴素贝叶斯的基本原理、 朴素贝叶斯是基于1、最大后验概率和 2、特征条件独立假设 的分类方法,其分类原理是根据某对象的先验概率和类概率计算出其后验概率,然后选择具有最大后验概率的类作为该对象所属的类别。朴素贝叶斯分类器的公示如下:假设某样本X具有n项特征,分别F1,F2,...,Fn。有m个类别,分别为C1,C2,...Cm。贝叶斯分类器就是计算出样本X地后验概率最大的分类,即求下面这个公式的最大值。由于等式右边的分母部分对于每个类别C1,C2,C3...都相同,可以省略。所以贝叶..
2022-03-23 21:05:36
4903
1
原创 手术的最优化分配(6)——鲁棒优化
之前,我们实现了手术分配的确定性优化和随机规划模型,但是在实践中,一个普遍的问题是许多医疗机构没有足够的数据来构建上文中用到的随机规划模型(要求已知服务时长的概率分布)。大多数情况下医疗机构仅仅能够估计手术时长的区间范围。在这一节中,我们假设医疗机构能够合理预估每台手术时长的范围。假设手术时长是随机的,且概率分布未知。手术时长落在一个不确定集中,我们想要找到一种分配方式来最小化不确定手术时长下的“最坏情况。假设δ_i_j为i号手术分配到j号手术室实际的手术时长,我们假设即已知每台手术时长的上下界
2021-11-23 14:24:21
1122
2
原创 手术的最优化分配(5)——随机规划模型的上下界
上篇实现了随机规划模型后,这篇谈一谈如何收缩随机规划的解空间以加快求解速率。首先为了便于理解我们将手术分配的表格绘制出来: X1= X2= X3= X4= y1 y2 y3 y4 y5
2021-11-17 10:46:31
207
原创 手术的最优化分配(5)——随机规划模型的上下界
上篇实现了随机规划模型后,这篇谈一谈如何收缩随机规划的解空间以加快求解速率。首先为了便于理解我们将手术分配的表格绘制出来: X1= X2= X3= X4= y1 y2 y3 y4 y5
2021-11-17 10:43:39
308
原创 手术的最优化分配(4)——随机规划模型及样本平均近似(SAA)方法代码实现
随机规划SAA方法的原理经过这段时间艰难的边学边讲,我们终于推进到了论文的第五部分:随机规划模型,首先我们来看一下文中给出的数学模型。之前的部分中,我们求解的是手术安排的确定性模型,但在实际的操作中,手术时长有很强的不确定性。如果不考虑手术时长的变动,则会给医院和患者都带来很大的风险。在上述随机规划模型中,是否开放j号手术室x_j和是否将i手术安排到j手术室中y_i_j是第一阶段决策;j号手术室加班时间o_j(ω)是第二阶段的追索(补偿)决策。想了解关于随机规划和追索问题的基础内容请点击:“
2021-11-15 11:21:16
2212
原创 手术的最优化分配(3)——手术室开放数目上下限及手术分配的启发式算法
在上期“手术的最优化分配(2)——打破对称性的约束(Symmetry-Breaking Constraints) (qq.com)”的代码中,没有对82-86行代码进行讲解,今天我们先来谈谈这几行代码背后的原理。手术室开放数目的下限最优的手术室开放数目的下限为:证明过程如下:手术室分配的前置条件为医院已经决定了哪些手术需要在今天完成,我们的任务为将手术分配在手术室中。在之前的文章中,我们谈到c^f为手术室正常开放一整天的固定成本,c^v为手术室加班一分钟的成本。在我们用以计算的例中,
2021-11-06 16:39:51
472
原创 手术的最优化分配(2)——打破对称性的约束(Symmetry-Breaking Constraints)
上篇文章中的代码和测试用数据出现了问题,需要做一些更正:(1)测试用的手术时长太长了,如果每个手术室都要加班那么怎么排班总消耗都是一样的,无法验证解的最优性。故将手术时长数据d改用为[142, 276, 9, 211, 117, 223, 244, 333, 352, 94]。另外,手术时长的选取最好满足以下两种情况之一:①所有手术室开放,部分手术室加班;②部分手术室开放,个别手术室少量加班。(2)70-72行代码有误,应把“y[j::j_]”改为“y[j * j_:]”这篇文章主要讲解用于提
2021-11-03 18:22:28
747
原创 手术的最优化分配(1)——确定性模型及Python调用Docplex求解
本文讲BrianT.Denton在2010年发表于OperationsResearch上的文章《OptimalAllocationofSurgeryBlockstoOperatingRoomsUnderUncertainty》,DOI号为“10.1287/opre.1090.0791”。笔者将标题译为《不确定条件下手术(块)在手术室中的最优化分配》。文中标下划线处为翻译内容,其余为讲解。文章关键词:优化、随机规划、手术。摘要众所周知,一篇论文最重要的部分就是摘要。该论文摘要...
2021-11-01 13:12:58
2021
2
原创 随机规划及其Recourse(追索/补偿)问题
最近在读有关随机规划论文时遇到了一个Recourse,译作“追索”或“补偿”,但是没有人讲解Recourse问题到底是什么是什么,甚至搜索“Recourse”会出现“Resource”的内容。这篇文章谈谈随机规划(Stochastic Programming)和对应的追索(Recourse)问题。本文主要参考了“https://neos-guide.org/content/stochastic-linear-programming”。另外本文举的例子非常浅显,想了解更符合现实的模型可以参考“https:
2021-10-29 20:18:08
4948
1
原创 机器学习:决策树推导及代码示例
特征提取代码#导入字典特征提取库from sklearn.feature_extraction import DictVectorizer#输入字典数据data=[{"city":"北京","temperature":100},{"city":"上海","temperature":60},{"city":"深圳","temperature":30}]#实例化一个转化器类tranfer = DictVectorizer(sparse=False)#进行特征提取data ...
2021-08-30 22:04:21
258
原创 报童问题详细推导及利用Python的SAA方法求解
from random import *seed(1) #随机数种子,确保结果可复现p=5 #售价c=2 #进价s=1 #残值for i in [5,20,50,100,200,500,1000,2000,5000,10000]: #样本数量 D=[] F=0 for n in range(i): D.append(randint(1000,2000)) #随机抽...
2021-08-23 18:47:31
3876
原创 学习笔记21.08.16:利用python的cplex库解决混合整数规划MIP问题
# -*- coding: utf-8 -*-# The MIP problem solved in this example is:# 问题描述# Maximize x1 + 2 x2 + 3 x3 + x4# Subject to# - x1 + x2 + x3 + 10 x4 <= 20# x1 - 3 x2 + x3 <= 30# x2 - 3.5x4 = 0# Bo...
2021-08-16 10:28:26
1807
原创 学习笔记21.08.03:读取excel,计算订单额
# TODO 导入openpyxl模块import openpyxl# TODO 将计算单月销售额的步骤移到函数getMonthlySold中# 获取单月“麻辣味口香糖”销售额的函数# 参数 filePath: 销售数据Excel文件路径# 返回值: 计算出的销售额结果def getMonthlySold(filePath): # 使用openpyxl.load_workbook()函数读取工作簿,文件路径使用函数参数filePath # 添加data_only=True打开.
2021-08-03 19:28:21
239
原创 学习笔记21.07.31:整理照片
# 导入os模块import os# TODO 导入ezexif模块import ezexif# TODO 导入shutil模块import shutil# TODO 使用os.chdir()函数修改当前工作目录到/Volumes/yequos.chdir('/Volumes/yequ')# 照片的相对路径yequPhotoPath = "照片"# TODO 使用函数os.listdir()获取所有待处理照片文件列表,并赋值给变量photoListphotoList=os..
2021-07-31 12:33:31
268
原创 学习笔记21.07.30:python自动整理文件
# 使用import导入os模块import os# TODO 使用import导入shutil模块import shutil# TODO 将阿文的下载文件夹路径 /Users/yequ/Desktop 赋值给变量desktopPathdesktopPath="/Users/yequ/Desktop"# 使用os.listdir()函数获取该路径下所有的文件(夹),并赋值给变量allItemsallItems = os.listdir(desktopPath)# 使用for循环遍历.
2021-07-30 22:44:43
88
原创 学习笔记21.07.28:判断文件夹是否存在
# 使用import导入os模块import os# TODO 将阿文的下载文件夹路径 /Users/yequ/Desktop 赋值给变量desktopPathdesktopPath="/Users/yequ/Desktop"# 使用os.listdir()函数获取该路径下所有的文件(夹),并赋值给变量allItemsallItems = os.listdir(desktopPath)# 使用for循环遍历所有文件(夹)for item in allItems: # 获取文件后.
2021-07-28 08:56:50
141
原创 学习笔记21.07.27:文件分类
# TODO 使用import导入os模块import os# TODO 将阿文电脑中的路径 /Users/yequ/Desktop 赋值给变量desktopPathdesktopPath="/Users/yequ/Desktop"# TODO 使用os.listdir()函数获取该路径下所有的文件(夹),并赋值给变量allItemsallItems=os.listdir(desktopPath)# 使用for循环遍历所有文件(夹)for item in allItems: #.
2021-07-27 19:49:30
63
原创 学习笔记21.07.20:员工关系图2
# 使用from...import从pyecharts.charts中导入Graphfrom pyecharts.charts import Graph# 使用from...import从pyecharts中导入options简写为optsfrom pyecharts import options as opts# 使用import导入openpyxl模块import openpyxl# 文件路径/Users/bing/基本信息.xlsx 赋值给pathpath = "/Users/bin.
2021-07-20 14:53:44
112
原创 学习笔记21.07.19:绘制关系图
# 使用from...import从pyecharts.charts中导入Graphfrom pyecharts.charts import Graph# 使用from...import从pyecharts中导入options简写为optsfrom pyecharts import options as opts# 存储类别的列表categorycategory = [{"name":"舞蹈组"}, {"name":"声乐组"}]# 存储基本新的列表info info = [ {"id.
2021-07-19 18:03:14
193
原创 学习笔记21.07.18:绘制旅行轨迹图
# 使用from...import...从pyecharts.charts导入Geofrom pyecharts.charts import Geo# 使用from...import...从pyecharts中导入options,并简写为optsfrom pyecharts import options as opts# 使用import导入openpyxl模块import openpyxl# TODO 使用from...import...从pyecharts.commons.utils中导入.
2021-07-18 23:01:13
591
原创 学习笔记21.07.17:绘制地理坐标系图
# TODO 使用from...import...从pyecharts.charts导入Geofrom pyecharts.charts import Geo# TODO 使用from...import...从pyecharts中导入options,并简写为optsfrom pyecharts import options as opts# 使用import导入openpyxl模块import openpyxl# 使用openpyxl.load_workbook()读取文件,并赋值给wb.
2021-07-17 11:08:08
525
1
原创 学习笔记21.07.16:绘制雷达图
# TODO 使用from...import从pyecharts.charts导入Radarfrom pyecharts.charts import Radar# 使用import导入openpyxl模块import openpyxl# TODO 从pyecharts导入options,简称为optsfrom pyecharts import options as opts# 将文件路径/Users/jiguang/yingxiong.xlsx,赋值给pathpath = "/Users/j.
2021-07-16 16:48:48
462
原创 学习笔记21.07.15:绘制散点图
# TODO 使用from...import从pyecharts.charts导入Scatterfrom pyecharts.charts import Scatter# 使用import导入openpyxl模块import openpyxl# 从pyecharts导入options,简称为optsfrom pyecharts import options as opts# TODO 从pyecharts.globals导入ThemeTypefrom pyecharts.globals im.
2021-07-15 11:13:16
452
原创 学习笔记21.07.14:桑基图组合
# 使用import导入openpyxl模块import openpyxl# TODO 使用from...import从pyecharts.charts导入Sankeyfrom pyecharts.charts import Sankey# TODO 使用from...import从pyecharts导入options,简写为optsfrom pyecharts import options as opts# 使用from...import从pyecharts.charts导入Pagefro.
2021-07-14 17:01:20
256
原创 学习笔记21.07.13:绘制桑基图
# 使用import导入openpyxl模块import openpyxl# TODO 使用from...import从pyecharts.charts导入Sankeyfrom pyecharts.charts import Sankey# 使用openpyxl.load_workbook(path)读取文件,赋值给wbwb = openpyxl.load_workbook("/Users/panpan/sankey.xlsx")# 使用中括号读取工作表对照组和实验组,赋值给sheet_A,.
2021-07-13 17:33:48
230
原创 学习笔记21.07.12:绘制箱线图
# 使用import导入openpyxlimport openpyxl# 使用from...import从pyecharts.charts导入Boxplotfrom pyecharts.charts import Boxplot# 使用from...import从pyecharts导入options模块并简写为optsfrom pyecharts import options as opts# 将路径 /Users/panpan/测试数据.xlsx 赋值给pathpath = "/User.
2021-07-12 16:52:07
304
原创 学习笔记21.07.10:绘制页面组合图
# 从pyecharts.charts导入Mapfrom pyecharts.charts import Map# 从pyecharts.charts中导入HeatMap模块from pyecharts.charts import HeatMap# 从pyecharts导入options,简称为optsfrom pyecharts import options as opts# 使用import导入openpyxl模块import openpyxl# 将文件路径"/Users/feife.
2021-07-10 16:55:27
219
原创 学习笔记21.07.09:绘制色块图
# 使用import导入openpyxl模块import openpyxl# TODO 从pyecharts.charts中导入HeatMap模块from pyecharts.charts import HeatMap# TODO 从pyecharts导入options,简称为optsfrom pyecharts import options as opts# 将文件路径/Users/feifei/三季度订单.xlsx,赋值给pathpath = "/Users/feifei/三季度订.
2021-07-09 19:54:24
554
原创 学习笔记21.07.08:绘制地图表
# TODO 从pyecharts.charts导入Mapfrom pyecharts.charts import Map# TODO 从pyecharts导入options,简称为optsfrom pyecharts import options as opts# 使用import导入openpyxl模块import openpyxl# 将文件路径"/Users/feifei/三季度订单.xlsx",赋值给pathpath = "/Users/feifei/三季度订单.xlsx".
2021-07-08 14:33:49
137
原创 学习笔记21.07.07:绘制轮播图
# 使用import导入openpyxl模块import openpyxl# TODO 使用from...import从pyecharts.charts# 导入Timeline模块和Funnel模块from pyecharts.charts import Timeline,Funnel# 使用from...import从pyecharts导入options模块,简写为optsfrom pyecharts import options as opts# 将文件路径赋值给pathpath .
2021-07-07 21:00:10
102
原创 学习笔记21.07.07:绘制漏斗图
# 使用import导入openpyxl模块import openpyxl# TODO 使用from...import从pyecharts.charts中导入Funnelfrom pyecharts.charts import Funnel# TODO 使用from...import从pyecharts导入options,简写为optsfrom pyecharts import options as opts# 将文件路径赋值给pathpath = "/Users/caicai/候选人跟进.
2021-07-07 18:21:51
208
原创 学习笔记21.07.05:利用pyechart和openpyxl绘制柱状图
# 使用import导入openpyxl模块import openpyxl# 使用from...import从pyecharts.charts导入Barfrom pyecharts.charts import Bar# 将文件路径赋值给pathpath = "/Users/caicai/候选人跟进.xlsx"# 使用openpyxl.load_workbook()读取文件,赋值给wbwb = openpyxl.load_workbook(path)# 使用工作簿["工作表"]读取岗位序列.
2021-07-05 21:24:29
383
原创 学习笔记21.07.04:利用pyecharts绘制玫瑰图
# TODO 从pyecharts.charts中导入Piefrom pyecharts.charts import Pie# TODO 从pyecharts导入options,简称为optsfrom pyecharts import options as opts# 按照批评者、被动者和推荐者的顺序以元组的格式组成列表# 赋值给 user_datauser_data = [("批评者",879),("被动者",440),("推荐者",1248)]# TODO 创建Pie对象赋值给pi.
2021-07-04 10:03:22
1654
原创 学习笔记21.07.04:利用pyecharts绘制饼图
# TODO 从pyecharts.charts中导入Piefrom pyecharts.charts import Pie# TODO 从pyecharts导入options,简称为optsfrom pyecharts import options as opts# 按照批评者、被动者和推荐者的顺序以元组的格式组成列表# 赋值给 user_datauser_data = [("批评者",879),("被动者",440),("推荐者",1248)]# TODO 创建Pie对象赋值给p.
2021-07-04 09:32:43
1396
原创 学习笔记21.07.02:利用pyecharts绘制帕累托图
# 定义知识点和平均扣分的字典knowledge = {"圆锥曲线":7.5,"直线与圆":5.0,"立体几何":10.1,"空间向量":3.2,"数列":14.5,"解三角":1.9,"导数":28.5,"函数模型":3.3,"二项式定理":3.0,"线性规划":4.0,"平面向量":3.5,"复数":1.3,"集合":1.9}# 根据字典value的大小,对knowledge的元素进行降序排序,然后结果赋值给resultresult = sorted(knowledge.items(),key.
2021-07-02 18:48:57
752
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人