运筹学
入门定义:一种系统化的决策方法,借助数学模型与分析手段解决复杂问题,尤其适用于商业场景。
CodeLucky · YouTube · 8:01
这段时长为150秒的导引片段定义了运筹学,列举了三个核心领域,随后聚焦于线性规划;它给出了文字定义、展示了含非负变量的最大化标准形式,并以椅子与桌子的生产为例,将该问题转化为线性规划,再用 Python 借助 scipy.optimize.linprog 编码实现;片段在任何数值最优解出现之前即告结束。 本段时长150秒的视频涵盖两个运筹学入门主题。首先,将工厂生产问题建模为线性规划问题:最大化利润,约束条件为 <= 100;并演示如何通过取目标函数系数的相反数、将约束写成矩阵形式,来为 scipy.optimize.linprog 编码。随后转向排队论,定义该领域及其主要组成部分,引入 单服务器模型(泊松到达、指数服务时间),给出公式 、 和 ,并强调稳定性条件 。最后,开始一个 Python 银行柜员示例,其中 、,但该片段在显示任何数值结果前即结束。 本视频片段介绍了运筹学中的基本概念,重点聚焦于排队论与决策分析。首先通过Python代码演示如何计算排队系统的若干关键性能指标,例如系统利用率、平均队列长度和等待时间;随后转入决策分析,将其定义为一种在不确定性条件下进行复杂决策的系统化方法;接着概述决策分析的关键要素,包括决策方案、自然状态、收益矩阵以及期望值;最后提供一个实际案例,运用期望值计算来比较两种投资选项,并得出结论:期望值更高的选项是更优选择。该片段最后简要总结了这些数学工具如何优化商业决策。 本视频片段以可视化方式概述运筹学,突出其三大主要分支:用于资源优化的线性规划、用于服务系统分析的排队论,以及用于处理不确定性的决策分析。音频同步强化这些概念,并总结指出:运筹学为提升运营效率与战略决策能力提供了坚实的数学基础。该片段以标准频道结束动画收尾。
在学习检查器中查看要点和时刻,或切换阅读标签查看完整笔记。
依据视频画面与讲解整理,并非逐字语音转写。
视频片段开篇将运筹学界定为一门形式化的决策学科。讲解者指出,它运用数学模型与分析方法来应对复杂的企业问题,这与标题幻灯片上的文字一致。
下一张幻灯片将该学科划分为三个入门分支:线性规划被描述为在一组线性约束条件下优化线性目标函数;排队论被描述为对等待队列及服务系统性能的研究;决策分析则被描述为在不确定性条件下的结构化决策过程。
随后,课程聚焦于线性规划。首先阐明其实际目的:在相互竞争的活动中,对稀缺资源进行最优配置。紧接着,给出标准最大化模板、至少一个形如的线性不等式约束,以及非负性要求。
为将抽象概念与商业案例联系起来,视频呈现了一家生产椅子与桌子的工厂。设为椅子数量,为桌子数量。利润数据给出目标函数,人工数据给出约束条件,并附有和。
同一实例随后被转化为Python代码,使用`scipy.optimize.linprog`求解。代码导入`linprog`,设置``,并明确注释说明:为实现最大化,系数需取负值;将人工约束编码为``与``;最后调用`result = linprog(c, A_ub=A, b_ub=b)`。视频片段在此处结束,尚未展示数值解。
开场幻灯片提出一个生产计划问题:一家工厂生产椅子和桌子,每张桌子盈利$50 per chair 且 $80,分别消耗2和4工时,总共有100工时可用。数学任务是在单一资源限制下,选择x与y以最大化利润。
随后解说求解器的约定:由于scipy.optimize.linprog默认执行最小化,屏幕上显示的代码将最大化目标函数转化为等价的最小化问题,其系数向量为。这是将商业目标与软件接口关联起来的关键建模步骤。
接着,将劳动力约束 <= 100改写为矩阵形式:,。幻灯片随后显示result = linprog(c, A_ub=A, b_ub=b)与print(result.x),表明最优产量将从result.x中提取,但本片段未显示实际数值。
话题转换后,视频将排队论定义为对等待队列的数学研究,用于分析和优化呼叫中心、银行出纳员队伍等服务系统。随后列出排队模型的五个结构要素:到达过程、服务时间、排队规则、系统容量、服务器数量。
下一张幻灯片聚焦于模型。该记号被解读为:马尔可夫(即泊松)到达、马尔可夫(即指数)服务时间、一个服务器。主讲人称其为最基础的单服务器排队模型,并展示三个稳态公式:、与,以及稳定性要求。
最后一部分将这些公式应用于银行出纳员的Python示例:一名出纳员服务顾客,顾客到达率为每小时20,服务能力为每小时25。代码中赋值arrival_rate = 20与service_rate = 25,然后直接依据表达式计算利用率、平均队列长度与平均等待时间。片段在打印出数值答案前结束。
该片段首先讲解 排队系统的数学公式。系统利用率等于到达率()除以服务率()。平均队列长度为除以,平均等待时间为除以。一段 Python 代码演示了银行柜员场景下的这些计算:客户以每小时20人的速率到达,以每小时25人的速率被服务。
主题转向决策分析,即在不确定性条件下,运用定量方法进行复杂决策的系统性方法。所介绍的关键要素包括决策方案、自然状态、收益矩阵、决策准则以及期望值。
通过一个期望值分析实例,比较两种投资——股票 A 和股票 B。股票 A 有60% 的概率发生$1000 profit 且 a 40% chance of a $500损失;股票 B 有30% 的概率发生$2000 profit 且 a 70% chance of a $200损失。
股票 A 的期望值计算为。股票 B 的期望值计算为。由于股票 B 的期望值更高($460 > $400),因此决策结果是选择股票 B。
视频最后总结运筹学的核心内容:线性规划用于优化资源配置,排队论用于分析服务系统,决策分析则用于应对不确定性,从而提升企业运营效率。
视频展示一张标题为“运筹学概览”的总结幻灯片,列出三个关键领域:线性规划,聚焦于在满足线性约束条件下对目标函数进行最大化或最小化以实现资源优化,常借助Python的scipy.optimize库求解;排队论,通过基本模型开展服务系统分析,用以评估性能指标并优化等待时间;决策分析,则借助期望值法与收益矩阵来处理不确定性,支持风险评估。
讲述者总结道:运筹学为优化商业决策、提升整体运营效率与战略决策能力,提供了强大的数学基础。
视频转入一段动画式结束序列:YouTube播放按钮依次变形为点赞拇指、通知铃铛,随后浮现CodeLucky标志及网站信息,鼓励观众点赞、订阅并访问其网站。
入门定义:一种系统化的决策方法,借助数学模型与分析手段解决复杂问题,尤其适用于商业场景。
视频列举了三大主要领域:线性规划用于在线性约束下优化线性目标函数;排队论用于研究等待队列与服务系统;决策分析用于在不确定性条件下开展结构化选择。
线性规划被定义为一种在相互竞争的活动中,对稀缺资源进行最优配置的方法。在实际应用中,它用于在存在约束条件限制可行方案、且需最大化或最小化某个目标时,找出最佳决策。
所显示的模板是一个最大化问题,其目标函数为线性,约束条件为线性不等式,且所有变量非负。虽然仅显式写出了一行约束,但讲解将其视为一般约束结构的示例。
一家工厂生产椅子和桌子。每把椅子赚取50美元,消耗2个劳动工时;每张桌子赚取80美元,消耗4个劳动工时;共有100个劳动工时可用。设生产x把椅子和y张桌子,则该模型为:最大化,满足约束 <= 100,且x, y >= 0。
该示例通过Python实现:导入linprog函数,提供目标函数系数、约束矩阵及右侧常数项,然后调用求解器。代码将利润系数取负,是因为linprog默认执行最小化求解,而本商业问题的目标是最大化。
类型:定义。一家工厂需决定生产椅子 x 把和桌子 y 张的数量。每把椅子利润为$50 且 uses 2 labor hours; table profit is $80,耗用4工时;可用总工时仅为100小时。其数学模型为:最大化,约束条件为 <= 100。公式:。条件:x 和 y 表示产量;利润与工时系数为固定值;总工时上限为100小时。先修知识:本片段中无。相关知识点:linprog 的符号转换、矩阵形式约束。时间依据:0–32.5秒。验证方式:最优的 x 和 y 数值解未在本片段中展示。
类型:方法。该片段说明 scipy.optimize.linprog 默认执行最小化,因此若原目标为最大化,则需将目标函数系数取负来实现。对本问题而言,最大化 等价于最小化 -50x - 80y,编码为 。公式:。条件:按所示方式使用 linprog;原始目标为最大化。先修知识:线性规划生产问题。相关知识点:矩阵形式的约束。时间依据:0–32.5秒。验证要点:未讨论其他求解器选项。
类型:方法。工时不等式 <= 100在求解器中表示为单行系数矩阵 与右端向量 ,从而构成 Ax <= b。公式: , , Ax 。条件:含两个变量的单个线性不等式;求解器要求输入 A_ub 和 b_ub 数组。先修知识:线性规划生产问题。相关知识点:linprog 的调用与结果提取。时间依据:0–32.5秒。验证要点:未解释超出当前调用范围的边界处理方式。
类型:定义。排队论被介绍为研究等待队列的数学理论,用于分析与优化服务系统的性能。片段中提到的例子包括呼叫中心和银行柜台队列。公式:无。条件:适用于具有顾客到达、等待和服务过程的系统。先修知识:本片段中无前置要求。相关知识点:排队系统组成要素及 模型。时间依据:33–69秒。验证要点:除口头描述外,未给出更严格的数学定义。
类型:定义。该片段列出刻画一个排队系统所需的五个组成部分:到达过程、服务时间、排队规则、系统容量、服务器数量。讲解中逐一用自然语言定义:顾客如何到达、每次服务耗时多久、服务遵循何种次序、系统最多允许多少顾客存在、共有多少名服务人员。公式:无。条件:这些组成部分用于建模前对排队系统进行完整刻画。先修知识:排队论的定义。相关知识点:记号。时间依据:33–69秒。验证要点:尚未引入这些组成部分的专门记号。
类型:定义。在 中,首个 M 表示马尔可夫性(即泊松到达),第二个 M 表示马尔可夫性(即指数服务时间),而1表示单个服务器。幻灯片称此为分析单服务器系统最基础的模型。公式:无。条件:到达服从泊松过程、服务时间服从指数分布、仅有一个服务器。先修知识:排队系统组成要素。相关知识点:公式及其稳定性条件。时间依据:69.5–120秒。验证要点:片段未推导为何这些假设能导出相应公式。
类型:公式。视频展示了 排队系统的三个稳态表达式:平均队列长度 ,平均等待时间 ,以及利用率 ,其中 λ 为到达率,μ 为服务率。公式:, , 。前提条件: 假设;λ 和 μ 的单位需一致。先修知识: 记号。相关知识点:稳定性条件与 Python 实现。时间依据:69.5–120 秒。待验证点:该片段未说明 L 仅统计排队中的顾客,还是包含系统中所有顾客。
类型:公式。幻灯片指出,系统仅在利用率严格小于一时才稳定:,其中 。这意味着到达率必须低于服务率。公式:。前提条件: 模型;ρ 定义为 。先修知识:核心 公式。相关知识点:有限队列长度与等待时间公式。时间依据:69.5–120 秒。待验证点: 处的边界行为未被讨论。
类型:示例。某银行有一名柜员,顾客到达率为每小时 20 人,服务能力为每小时 25 人。目标是计算平均队列长度、平均等待时间及利用率。代码中设定 arrival_rate = 20 与 service_rate = 25,随后计算 utilization = arrival_rate / service_rate,avg_queue_length = arrival_rate / (service_rate − arrival_rate),以及 avg_wait_time = 1 / (service_rate − arrival_rate)。公式:,\; ,\; 。前提条件:单服务器 场景;速率单位为“顾客/小时”;到达率低于服务率。先修知识:核心 公式。相关知识点:稳定性条件。时间依据:120–150 秒。待验证点:该片段结束前未展示数值输出结果。
这些公式用于分析具有泊松到达过程和指数服务时间的单服务器排队系统。它们可帮助确定系统利用率、平均队列长度及平均等待时间,前提是到达率严格小于服务率。
决策分析是一种结构化的方法论,用于在结果不确定的情况下评估复杂选择。它依赖于定量技术与逻辑框架,融合决策方案、自然状态、收益矩阵及期望值等要素,以指导最优决策。
期望值是概率论与决策理论中的基本概念,用于评估随机变量的长期平均结果。在决策分析中,其计算方式为:将每种可能收益乘以其对应概率,再对所有自然状态的结果求和。
运筹学是一门学科,它提供强有力的数学工具,用于优化商业决策并提升运营效率。该学科涵盖多种核心方法论,以解决复杂的现实世界问题。
一种用于资源优化的数学技术。它通过在一组线性约束条件下,最大化或最小化一个线性目标函数来实现。在实际应用中,可借助 Python 的 scipy.optimize 库等工具实现。
对等待队列(即排队现象)的数学研究。它常用于分析服务系统,通常从基础的 模型出发,以评估性能指标并优化等待时间。
一种在不确定性条件下进行定量决策的方法。它运用期望值法、收益矩阵等手段来评估风险,并为理性决策提供依据。
按知识点查看条件、步骤和证据。补充解释与视频直接内容分别标明。
讲解者将该领域命名为运筹学,并用语言对其作出定义。
标题幻灯片文字显示为“运筹学”和“商业中的数学优化”,副标题描述了一种借助数学模型与分析方法进行系统化决策的途径。
Operations Research
一种借助数学模型与分析方法解决复杂问题的系统化决策途径。
商业决策与应用优化
标准形式显示为“最大化: + ... + c_nx_n”。
讲解者指出目标函数为 Z。
Z
在线性规划所展示的标准形式中,待最大化的目标函数值。
线性规划目标值
公式在目标函数与约束条件中均使用了 、、……、。
讲解者提及变量 x1、x2等,直至 。
线性规划模型中的决策变量;在示例中,它们代表产量。
线性规划中的非负决策变量
目标函数系数表示为 、、……、,分别乘以变量 、、……、。
讲解员说明每个变量均乘以一个系数 c1、c2,依此类推直至 。
线性目标函数中变量 的系数。
目标函数系数
约束直线显示为 + … + nx_n 。
讲解员朗读一个约束示例,起始部分为 a11 乘以 x1 加上 a12 乘以 x2。
a_{ij}
第 i 个约束中变量 的系数;仅第一行的系数被明确标出。
约束系数
所显示的不等式以 '' 结尾。
讲解员说明该表达式必须小于或等于 b1。
线性约束的右端常数;仅明确标出 。
约束边界
代码注释写道:“目标:最大化”。
讲解员指出,目标是最大化,其中x表示椅子的数量,y表示桌子的数量。
x, y
在例题演算中,x代表生产的椅子数量,y代表生产的桌子数量。
椅子与桌子示例中的生产数量
代码显示“from scipy.optimize import linprog”和“result = linprog(c, A_ub=A, b_ub=b)”。
讲解员说明需从scipy.optimize模块导入linprog函数。
linprog
用于求解屏幕上所展示线性规划问题的scipy.optimize模块中的Python函数。
应用型计算优化代码
左侧面板说明:一家工厂生产椅子和桌子;每把椅子的利润为$50,所需工时为2小时。
代码注释写道:目标函数:最大化。
讲解员指出,最优解给出了为实现利润最大化所需生产的椅子和桌子的数量。
x
线性规划示例中生产的椅子数量。
非负产量约束;在所展示的代码中,边界通过 A_ub=None、b_ub=b 传入。
左侧面板说明:每张桌子的利润为$80,所需工时为4小时。
代码注释写道:目标函数:最大化。
讲解员指出,最优解给出了为实现利润最大化所需生产的椅子和桌子的数量。
y
线性规划示例中生产的桌子数量。
非负产量约束;在所展示的代码中,边界通过 A_ub=None、b_ub=b 传入。
所展示的代码行: # 取负号以实现最大化。
讲解员指出,linprog 默认执行最小化,因此系数需取负值,即负50和负80。
c
提供给 scipy.optimize.linprog 用于最小化问题的目标函数系数向量。
对应变量 x 和 y 的向量 [ -50, -80 ]。
显示的代码行:。
讲解员说明该约束条件为 2x 加 4y 小于或等于 100,代表劳动力约束,并指出该约束由矩阵 A 和向量 b 定义。
A
劳动力不等式约束的系数矩阵。
单行矩阵 [[2, 4]],与变量 x 和 y 的系数一致。
讲解员指出,运筹学是一种系统化的决策方法,它借助数学模型和分析方法来解决复杂问题。
开场幻灯片以文字形式呈现了相同的定义。
本视频将运筹学介绍为一种结构化决策方式,即通过将商业问题转化为数学模型,并运用严谨的方法进行分析。
适用于复杂的决策问题
运用数学模型与分析方法
解说员称,线性规划是一种数学方法,用于确定有限资源在各种相互竞争的活动之间的最优分配。
幻灯片文字显示:“一种用于确定稀缺资源在相互竞争的活动之间最优分配的数学方法”。
线性规划被呈现为一种方法:当若干活动竞争同一组稀缺资源时,从中选择资源的最优分配方案。
有限或稀缺的资源
相互竞争的活动
寻求最优分配
幻灯片显示:“最大化: + ... + c_nx_n”、“约束条件:”、“ + ... + nx_n ”以及“, , ..., ”。
解说员解释了目标函数、线性不等式约束以及非负性条件。
幻灯片仅明确展示了一行约束,尽管解说内容是对约束条件的一般性描述。
视频提供了一个最大化模板,其目标函数为线性函数,至少包含一个线性不等式约束,且决策变量非负。
目标函数是线性的
约束条件是线性不等式
变量被限制为非负
所展示的形式是一个最大化模板
代码面板显示导入 linprog 函数、数组 c、A、b,以及调用 result = linprog(c, A_ub=A, b_ub=b)。
讲解员指出该问题可借助 Python 与 SciPy 库求解,随后描述了如何导入 linprog 并设定目标函数。
该片段未展示求解器的数值输出结果。
该示例展示了实用的工作流程:编码目标函数系数,编码约束矩阵与右端项,然后调用 linprog 获取最优解向量。
该问题被建模为一个线性规划问题
linprog 采用最小化约定,因此最大化问题的系数需取相反数
约束条件以 A_ub x <= b_ub 的形式给出
标题为线性规划示例;左侧面板列出:椅子:$50 profit, 2 hrs labor; Table: $80利润,4小时人工;可用资源:100小时人工;目标:最大化利润。
右侧面板展示使用 scipy.optimize.linprog 的 Python 解法。
讲解员说明了目标函数系数、人工约束条件以及 linprog 的使用方法。
本片段呈现一个双产品生产计划问题:选择生产椅子和桌子的数量,使得总人工不超过100小时,同时使利润最大化。决策变量为 x(椅子数量)和 y(桌子数量),其单位利润分别为50和80,单位人工消耗分别为2和4。
两个决策变量 x 和 y 分别代表椅子和桌子的产量。
利润系数为椅子50、桌子80。
人工系数为每把椅子2小时、每张桌子4小时。
总可用人工为100小时。
目标是最大化利润。
代码注释:目标函数:最大化 ;下一行 # 取负号以实现最大化。
旁白说:由于 linprog 默认执行最小化,因此我们对系数取负值,即负50和负80。
视频演示了 SciPy 的 linprog 的标准建模步骤:由于该函数默认执行最小化,因此最大化目标函数需通过将目标系数取负来重写。于是,最大化 等价于最小化 -50x - 80y。
使用 scipy.optimize.linprog。
原始目标函数是一个最大化问题。
目标系数以符号相反的顺序填入向量 c。
代码注释:约束条件: <= 100;随后是 和 。
旁白说:该约束表示 2x 加上 4y 必须小于或等于 100,代表劳动力约束;该约束被定义为矩阵 A 和向量 b。
劳动力限制被编码为不等式系统 A_ub x <= b_ub 中的一行。系数行 [2, 4] 与决策向量 (x, y) 相乘,右侧 [100] 存储可用的工时数。
该不等式关于 x 和 y 是线性的。
约束矩阵仅含一行。
求解器接口要求输入系数矩阵〔A_ub〕和右侧向量〔b_ub〕。
幻灯片标题:排队论;定义框中写道:排队论是研究等待队列的数学分支,用于分析和优化服务系统的性能。
解说员指出,排队论是研究等待队列的数学分支,常用于分析和优化呼叫中心或银行柜台等服务系统的性能。
排队论被介绍为研究等待队列的数学分支,其目的在于分析和优化服务系统的性能,典型示例包括呼叫中心和银行柜台。
适用于具有顾客到达过程和等待队列的服务系统。
用于性能分析与优化。
关键组成部分列表:到达过程、服务时间、排队规则、系统容量、服务台数量。
解说员依次定义各组成部分:到达过程描述顾客如何到达;服务时间指服务一位顾客所需时长;排队规则规定顾客接受服务的先后顺序;系统容量指系统中允许容纳的最大顾客数;服务台数量指可用的服务人员或服务通道数目。
该片段指出,构建一个排队模型需明确五个结构性要素:顾客如何到达、服务耗时多长、服务次序由何种规则决定、系统允许的最大顾客数量、以及服务台的数量。
用于在应用公式前明确指定排队模型。
每个组成部分都会影响系统的行为和性能指标。
幻灯片标题:排队模型;左侧面板说明:M:马尔可夫型(泊松)到达;M:马尔可夫型(指数)服务;1:单个服务器;这是分析单服务器系统的最基本排队模型。
讲解员说明:第一个M表示马尔可夫型(即泊松)到达,第二个M表示马尔可夫型(即指数)服务时间,而1表示单个服务器。
记号编码了关于该队列的三个假设:泊松到达、指数服务时间,以及恰好一个服务器。视频称其为分析单服务器系统的最基本模型。
到达过程是马尔可夫型/泊松型的。
服务时间分布是马尔可夫型/指数型的。
恰好有一个服务器。
右侧面板列出:平均队列长度:;平均等待时间:;利用率:。
讲解员逐条念出这三个公式,并指出λ为到达率,μ为服务率。
视频未推导这些公式。
关于L究竟仅统计排队中的顾客,还是统计系统中所有顾客(含正在被服务者)的确切约定并未说明。
对于排队系统,本片段给出了三个以到达率λ和服务率μ表示的核心性能公式:平均队列长度、平均等待时间以及利用率。
模型为。
λ为到达率。
μ为服务率。
这些公式被列为该模型的关键公式。
幻灯片文字:表示系统稳定。
讲解员指出,为使系统稳定,ρ必须小于一。
本片段指出,单服务器排队系统仅在利用率严格小于一时才稳定,等价于到达率小于服务率。
适用于模型。
ρ定义为。
稳定性要求严格不等式 。
讲解员指出运筹学涵盖若干核心领域,并列举了线性规划、排队论和决策分析。
幻灯片标题为“运筹学的核心领域”,并配有三张带标签的卡片。
在此入门概述中,运筹学被描述为涵盖线性规划、排队论和决策分析这三大核心领域。
语境是视频中呈现的入门性概览
至少包含这三个领域;视频仅称其为“若干核心领域”,并未声称所列内容已穷尽全部。
讲解员指出,线性规划有助于在存在约束条件且目标为最大化或最小化某项指标时,作出最优决策。
定义卡片上写着:在竞争性活动中对稀缺资源进行最优配置。
当存在约束条件且目标为最大化或最小化某个目标函数时,线性规划可用于选择最优决策。
存在约束条件
存在一个需要最大化或最小化的目标
视频中介绍的线性规划通用表述。
讲解员说:‘由于 linprog 默认执行最小化,我们对系数取负值。’
代码注释明确标注 # 为求最大值而取负
视频中展示的 linprog 程序默认执行最小化,因此最大化目标需通过对目标函数系数取负来实现。
如屏幕上代码所示,使用 scipy.optimize.linprog。
针对本例所用的程序。
左侧面板文字:分析单服务器系统的最基本排队模型。
讲解员指出,最基本的排队模型之一是 模型,该模型被广泛用于分析单服务器系统。
模型被介绍为最基本的排队模型之一,并被广泛用于分析单服务器系统。
排队到达过程服从泊松分布。
服务时间服从指数分布。
仅有一个服务器。
讲座中提出的普遍性结论,未给出严格证明。
幻灯片文字: 以保证系统稳定。
解说员指出,为使系统稳定,ρ 必须小于一。
该片段陈述了条件,但未给出证明,也未讨论 时的边界行为。
对于 排队系统,系统仅当 时才稳定,其中 。
模型为 。
λ 是到达率。
μ 是服务率。
对应的式子为:。
该片段讨论的是 系统。
左侧面板列出椅子利润50、人工2;桌子利润80、人工4;可用人工100;目标为最大化利润。
右侧面板注释写明:'目标:最大化',以及'约束条件: <= 100'。
旁白朗读应用题后,指出目标为,其中x代表椅子数量,y代表桌子数量。
该片段未明确口述人工约束的推导过程,但该约束已出现在代码注释中。
引入与工厂问题中两种产品相对应的决策变量。
本例询问应生产多少把椅子和多少张桌子,因此每种产品的产量均成为一个变量。
根据单位利润构建目标函数:每把椅子利润为50美元,每张桌子利润为80美元。
总利润等于每把椅子的利润乘以椅子数量,加上每张桌子的利润乘以桌子数量。
根据资源使用情况构建劳动力约束:每把椅子消耗2小时,每张桌子消耗4小时,而可用的劳动力总时长仅为100小时。
所用总劳动力不得超过可用的劳动力工时。
添加非负性约束,因为产量不能为负数。
这与视频前文所述的标准型要求一致,也符合变量的实际含义。
将数学模型转化为屏幕上显示的代码输入。
所展示的代码采用 linprog 的最小化约定,因此最大化目标函数的系数需取相反数;单一的劳动力约束转化为矩阵 A 的一行和向量 b 的一个元素。
该文字应用题被转化为一个线性规划问题:目标函数为,劳动力约束为 <= 100,且变量非负,随后编码为 scipy.optimize.linprog 的输入格式。
问题描述显示在左侧面板,Python 代码显示在右侧面板,二者同时呈现。
解说员逐步讲解目标函数转换、约束条件编码以及调用 linprog 函数的过程。
该片段未展示数值最优解的具体取值。
从文字描述的生产问题出发:椅子和桌子的利润分别为50和80,所需工时分别为2和4小时,而可用的总工时仅有100小时。
直接从左侧面板及代码注释中读取。
将最大化目标函数通过取系数的相反数,改写为最小化问题,再传入 linprog。
讲解员指出 linprog 默认执行最小化,且代码注释注明‘取负号以实现最大化’。
将单一的工时不等式约束编码为一个系数矩阵行与一个右端向量,供求解器使用。
对应屏幕上显示的约束 <= 100,也符合讲解员对矩阵 A 和向量 b 的说明。
用转换后的目标向量与不等式约束数据调用求解器。
在代码块中直接展示。
提取并打印最优决策变量数组,解释为应生产的椅子与桌子的数量。
代码注释将 result.x 标记为最优解,讲解员说明它表示应生产的椅子与桌子的数量。
该片段完整演示了从文字描述的线性规划问题到 SciPy linprog 调用的建模全流程,但未展示最终的数值最优解。
代码设定 arrival_rate = 20 和 service_rate = 25,然后使用 公式计算利用率、平均队列长度和平均等待时间。
讲解员引入银行柜员示例,并说明到达率和服务率。
视频片段在打印语句执行完成前结束,因此最终的数值输出不可见。
从银行柜员场景中赋值到达率和服务率。
在左侧面板中给出,并在 Python 变量名和注释中对应呈现。
通过将给定的速率代入通用的 公式来计算利用率。
使用之前展示的公式 。
使用之前展示的 公式计算平均队列长度。
使用之前展示的公式 。
使用之前展示的 公式计算平均等待时间。
使用之前展示的公式 。
该示例展示了当λ和μ确定后,符号化的公式如何转化为具体的Python算术运算;本片段未显示最终计算出的数值。
A 的期望值等于0.6乘以1000加上0.4乘以负的500;A 的期望值也等于600减去200,即等于$400
将每个结果乘以其对应概率,再将所有乘积相加。
期望值的定义。
计算各项乘积,并求其差值。
算术运算。
投资股票A的期望值为$400。
B 的期望值等于0.3乘以2000加上0.7乘以负的200;B 的期望值也等于600减去140,即等于$460
将每种结果乘以其对应的概率,然后求和。
期望值的定义。
计算各乘积并求其差值。
算术运算。
投资股票B的期望值为460。
幻灯片标题为‘线性规划示例’,包含‘生产问题’与‘Python 解法’两个面板。
可见文本列出了椅子与桌子的利润、劳动力需求、可用劳动力总量、优化目标,以及对应的 Python 代码。
讲解员朗读生产问题,并开始解释 Python 的设置过程。
本片段中未显示最优数值解。
本片段在讲解员完成代码解释前即结束。
一家工厂生产椅子和桌子。每把椅子带来50美元的利润,需要2小时的劳动力;每张桌子带来80美元的利润,需要4小时的劳动力。现有100小时的可用劳动力。目标是使总利润最大化。
椅子的利润 = 50美元
椅子所需的劳动力 = 2小时
桌子的利润 = 80美元
桌子所需的劳动力 = 4小时
可用劳动力 = 100小时
决策变量:x = 椅子数量,y = 桌子数量
将该生产问题建模为线性规划问题,并使用 scipy.optimize.linprog 在 Python 中设置其求解过程。
用椅子数量 x 和桌子数量 y 表示利润目标函数。
直接根据题目所给的单位利润得出。
写出劳动力约束条件。
直接根据给定的劳动力使用量和总可用工时得出。
声明产量变量的非负性约束。
这是由前文展示的标准形式以及产量计数的实际含义所要求的。
将目标函数系数以负值形式输入代码。
代码注释中写有‘求最大值时取负’,这反映了 linprog 函数采用最小化约定。
将单一劳动力不等式约束编码为矩阵形式。
与代码注释中所示约束 <= 100 相匹配。
使用已准备好的系数数组调用求解器。
这正是 Python 解决方案面板中展示的精确求解步骤。
该片段设置了线性规划问题并调用了求解器,但在结束前并未显示最终的数值最优解。
片段中未展示任何数值验证过程;仅可见问题建模与代码调用部分。
生产问题面板列出了椅子和桌子的利润、人工需求、可用人工总量以及目标。
Python求解面板展示了如何使用scipy.optimize.linprog函数,并传入参数c、A和b。
讲解员说明了目标函数、约束条件以及求解器调用过程。
本片段未显示x和y的最优数值解。
某工厂生产椅子和桌子。每把椅子带来$50 profit 且 uses 2 hours of labor; each table yields $80的利润,耗用4小时人工;仅有100小时人工可用。请确定使总利润最大的生产方案。
椅子利润 = 50美元。
桌子利润 = 80美元。
椅子所需人工 = 2小时。
桌子所需人工 = 4小时。
可用人工 = 100小时。
目标:最大化利润。
在劳动力约束条件下,求出需生产的椅子数量 x 和桌子数量 y 的最优值。
用椅子数量 x 和桌子数量 y 表示利润目标函数。
直接从题目描述和代码注释中读取。
利用单位产品所需工时和总可用工时写出劳动力约束条件。
直接从题目描述和代码注释中读取。
将最大化目标转换为 linprog 所需的最小化形式。
讲解员指出 linprog 默认执行最小化,且代码注释说明‘取负号以实现最大化’。
将不等式约束的系数与右侧常数项整理为矩阵-向量形式,供求解器使用。
与屏幕上显示的代码及讲解员的解释一致。
求解线性规划问题,并输出最优决策变量。
直接显示在代码块中。
该片段通过代码设定并求解了问题,但本段中并未显示 x 和 y 的实际最优值。
该片段未展示任何数值验证过程;仅可见建模步骤和求解器调用。
银行柜员分析面板显示:一名柜员,顾客到达率为20人每小时,服务率为25人每小时,并要求计算平均队列长度、平均等待时间及系统利用率。
分析代码设定 arrival_rate = 20,service_rate = 25,并计算利用率、平均队列长度和平均等待时间。
解说员描述了同一个银行示例以及所期望的输出结果。
在片段结束前,最终打印出的数值结果并未显示。
一家银行有一名柜员为顾客服务。顾客以20人每小时的速率到达,柜员以25人每小时的速率服务顾客。求平均队列长度、平均等待时间及系统利用率。
单个柜员/服务器。
到达率 = 20 人/小时。
服务率 = 25 人/小时。
针对该银行柜员系统,计算 性能指标 L、W 和 ρ。
从题目描述中识别到达率和服务率。
在左侧面板中给出,并编码在 Python 注释中。
使用 幻灯片中的利用率公式。
此前已展示的公式,并由讲解员复述。
使用 幻灯片中的平均队列长度公式。
此前已展示的公式,并由讲解员复述。
使用 幻灯片中的平均等待时间公式。
此前已展示的公式,并由讲解员复述。
将符号公式转化为 Python 算术表达式,代入已指定的数值速率。
直接显示在代码块中。
该片段展示了求解所需的设定与公式,但数值结果未在本片段结束前显示。
本片段中未展示任何执行输出或验证过程。
银行柜员分析:客户到达率:20人/小时,服务率:25人/小时
到达率 = 20 服务率 = 25
某银行有一名柜员为客户服务。客户以20人/小时的速率到达,服务速率为25人/小时。请计算平均队列长度、平均等待时间以及系统利用率。
到达率为人/小时
服务率为人/小时
计算系统利用率、平均队列长度和平均等待时间。
用到达率除以服务率来计算利用率。
模型的利用率公式。
计算平均队列长度。
模型的平均队列长度公式。
计算平均等待时间。
模型的平均等待时间公式。
利用率为:0.80,平均队列为:4.00,平均等待时间为:0.20小时。
这些数值与屏幕上显示的 Python 代码输出结果一致。
投资决策:在两只股票——股票 A 和股票 B 之间做出选择,它们各自具有给定的概率以及对应的盈利或亏损。
在两只股票之间做出选择:股票 A(有60% 的概率亏损$1000 profit, 40% chance of $500),股票 B(有30% 的概率亏损$2000 profit, 70% chance of $200)。哪一只更优?
股票A:60% 的概率发生$1000 profit, 40% chance of $500损失
股票B:30% 的概率发生$2000 profit, 70% chance of $200损失
根据期望值判断哪只股票是更优的投资选择。
计算股票A的期望值。
期望值公式。
计算股票B的期望值。
期望值公式。
比较两只股票的期望值。
决策准则:选择期望值更高的股票。
选择股票B,因为它具有更高的期望值($460 vs $400)。
结论与屏幕上显示的文字‘决策:选择股票B(期望值更高)’一致。
静态标题页,主标题为‘运筹学’,副标题为‘商业中的数学优化’,下方附有一行说明文字。
可读的幻灯片文字与口头介绍内容一致。
标题文字
副标题文字
定义句
CodeLucky 标志
本页幻灯片不出现数学动画;在讲解者介绍主题期间,幻灯片保持静态。
领域名称及书面定义在整个时段内持续显示在屏幕上。
开场幻灯片将主题确立为运筹学,并将其界定为面向商业决策的数学优化。
三张卡片式布局出现在标题“运筹学的核心领域”下方。
三张卡片分别标有“线性规划”“排队论”和“决策分析”,并附有简短说明。
三张矩形卡片
每张卡片上方的图标
卡片标题
卡片描述
该幻灯片呈现三个平行的子领域,但未展示它们之间的相互作用。
在该时间段内,这三个区域始终保持同时可见。
这种视觉组织方式传达出:本课程将把线性规划、排队论和决策分析视为运筹学的主要分支。
双栏幻灯片,标题为“线性规划”,左侧为“定义”框,右侧为“标准形式”框。
右侧面板包含最大化模板、一个不等式约束以及非负性条件。
尽管讲解中泛指约束条件,但仅显示了一行约束。
定义面板
标准形式面板
目标函数公式
约束条件公式
非负性公式
幻灯片从文字定义逐步过渡到符号表达,不包含动画推导过程。
所显示的标准形式保持固定不变,同时讲解者逐个解释每个符号的含义。
视觉上的对应关系将线性规划的日常语言目标与其规范化的代数结构联系起来。
分屏幻灯片标题为‘线性规划示例’,左侧为‘生产问题’面板,右侧为‘Python 解法’代码面板。
左侧面板列出利润、工时、可用工时和目标;右侧面板展示 scipy 代码及注释。
未显示代码输出结果,因为该片段在执行结果呈现之前即已结束。
文字应用题面板
代码面板
注释将数学表达式映射到代码
linprog 函数调用
讲解从抽象的标准形式转向具体的商业案例,再转向计算实现。
在此期间,问题数据与代码始终同时可见。
并排布局展示了真实生产决策如何被转化为线性规划模型,再进一步转化为可执行的优化代码。
静态幻灯片,标题为“线性规划示例”,左侧为“生产问题”卡片,右侧为“Python 解决方案”代码卡片。
幻灯片无内部动画;在约32.5秒前,画面保持静止。
标题文字:“线性规划示例”
左侧卡片:“生产问题”
右侧卡片:“Python 解决方案”
使用 scipy.optimize.linprog 的代码块
约在32.5秒时,幻灯片切换离开该线性规划示例。
在0–32.5秒期间,同一问题描述与代码持续并列显示。
左侧卡片中的生产数据保持固定,右侧卡片中的求解器代码也保持固定。
视觉上的左右配对,将左侧每个语言描述或建模要素,与其在右侧对应的直接 Python 编码一一关联。
幻灯片标题为“排队论”,左侧为定义,右侧为关键组成部分。
订阅按钮浮层在左上角区域短暂出现,时间约为40–44秒。
标题文字:排队论
定义卡片
关键组成部分卡片
简短的订阅浮层
约在40–44秒处,订阅图形出现后随即消失。
接近69秒时,幻灯片切换至模型幻灯片。
在讲解过程中,定义与组成部分列表保持不变。
核心教学内容保持静止,尽管出现了短暂的浮层。
本幻灯片在任何公式出现之前,先从概念层面引入主题。
标题为排队模型的幻灯片,左侧为解释性卡片,右侧为关键公式卡片。
另一条订阅提示在100–104秒左右短暂出现。
标题文字:排队模型
左侧卡片说明的假设条件
右侧卡片列出L、W和ρ的公式
短暂出现的订阅提示
在100–104秒左右,订阅图形出现后随即消失。
约在120秒处,幻灯片切换至Python分析示例。
假设列表与公式列表在整个片段中始终同时可见。
符号λ、μ和ρ在该幻灯片中含义保持一致。
该幻灯片将左侧的模型假设与右侧的闭式性能公式相联系。
幻灯片标题为‘Python中的排队分析’,左侧为银行柜员分析卡片,右侧为分析代码卡片。
视频片段在显示任何输出值之前就结束了。
标题文字:Python 中的排队分析
左侧卡片:银行柜员分析
右侧卡片:分析
代码计算利用率、平均队列长度和平均等待时间
该幻灯片在整个视频片段结束前保持静止。
数值输入20和25在问题卡片与代码注释中均保持不变。
代码结构对应前一张幻灯片中的三个公式。
此可视化将抽象的 公式转化为具体的计算流程。
Python代码块,展示利用率、平均队列长度和平均等待时间的计算过程。
Python代码块
代码变量根据题目描述赋值。
应用公式计算各项指标。
打印语句将输出结果保留两位小数。
代码所表示的数学关系保持不变。
该代码展示了如何通过编程实现排队公式,以求解银行柜员问题。
幻灯片列出决策分析的关键要素:决策方案、自然状态、收益矩阵、决策准则、期望值。
以文本框形式列出各要素
各要素随讲解者叙述依次呈现。
这五个关键要素在整个片段中保持不变。
决策分析问题核心构成要素的可视化拆解。
总结幻灯片,分为三栏:线性规划、排队论、决策分析,每栏均附有项目符号要点。
三张带图标与文字的摘要卡片
讲解员概括幻灯片上所列各领域的应用。
运筹学三大主要分支的高亮标识保持不变。
概览运筹学中用于商业优化的各种数学工具。
一张静态幻灯片,标题为《运筹学概要》,分为三列,分别对应线性规划、排队论和决策分析,并在每列下列出要点。
幻灯片标题
三列
项目符号列表
版式
文字内容
以视觉化方式概括运筹学三大主要分支的核心组成部分及其应用。
代码注释为“# 目标:最大化 ”,随后是“ # 负号表示求最大值”。
讲述者指出目标是最大化 ,而屏幕上显示的代码却使用了负系数。
人们可能预期求解器调用中的系数应直接输入为 [50, 80],因为商业目标是最大化利润。
屏幕上显示的代码明确使用 ,并附有注释“负号表示求最大值”,表明 linprog 是在最小化约定下使用的。
代码注释明确指出: 中的负号是为取最大值而设。
讲解员说明:由于 linprog 默认执行最小化,因此我们对系数使用负值。
有人可能试图通过直接向 linprog 传入正系数50和80来最大化利润。
该片段强调 linprog 默认执行最小化,因此最大化目标必须通过使用负系数 [-50, -80] 来转换。
幻灯片文字指出:稳定性要求 。
解说员说:为使系统稳定,ρ 必须小于一。
该视频未讨论 时系统的确切行为。
有人可能认为,只要利用率不大于一,队列就保持稳定。
该片段将稳定性条件表述为 ,即一个严格的不等式,而非 。
讲述者指出运筹学涵盖若干核心领域,并首先列举线性规划。
核心领域幻灯片将线性规划归入运筹学。
视频将线性规划呈现为运筹学这一更广泛领域中的一个核心方向。
在用自然语言定义线性规划之后,讲解者立即引入标准形式。
同一张幻灯片将定义与符号化模板并列呈现。
该标准形式正是此前用自然语言所给出的线性规划定义的代数表达。
讲解者以‘下面我们通过一个 Python 示例,看看如何在实践中应用线性规划。’实现过渡。
示例采用了一个线性目标函数、一个线性不等式约束以及非负变量,这些均与前述标准形式保持一致。
椅子-桌子生产问题是对前述线性规划模板的一个具体应用。
Python 求解面板直接将该示例的目标函数与约束条件编码为 linprog 函数的输入。
讲解者说明如何使用 Python 与 SciPy 库来求解该示例。
该手算示例通过应用 scipy.optimize.linprog 的工作流程进行数值求解。
同一张幻灯片展示了生产问题及代码变换 。
解说员从陈述最大化目标,过渡到解释为何需对系数取负。
符号取反法被专门用于将生产最大化问题转化为适用于 scipy.optimize.linprog 的形式。
约束条件 <= 100被重写为矩阵 和向量 ,并显示在同一张幻灯片上。
讲述者说明该约束被定义为一个矩阵 A 和一个向量 b。
生产问题中的口头表述的劳动力约束被编码为矩阵-向量不等式形式,供求解器使用。
定义卡片与关键组成部分卡片并排出现在排队论幻灯片上。
讲述者首先定义排队论,然后逐一列举其组成部分。
排队论的一般定义通过列出描述排队系统所需的构成部分而得以展开。
幻灯片明确指出:到达过程服从泊松分布、服务时间服从指数分布、且仅有一个服务器,这与之前介绍的组成部分类别相一致。
讲述者在讨论完到达过程、服务时间及服务器数量之后,引入 模型。
模型是一种特殊的排队系统,其到达过程、服务时间分布和服务器数量分别固定为泊松到达、指数服务和单个服务器。
左侧面板定义 的假设,右侧面板则列出使用 λ 和 μ 的公式。
讲述者先解释符号含义,随后指出该模型的一些关键公式包括 L、W 和 ρ。
这些闭式表达式作为 模型的公式呈现,因此其有效性依赖于所陈述的 假设。
利用率公式 紧接在稳定性说明 的上方出现。
讲解员先陈述利用率公式,再说明稳定性要求。
稳定性条件直接建立在利用率公式 之上,并限定了 性能表达式有意义的条件。
Python 代码行复现了前一张 幻灯片中的相同代数形式。
讲解员在介绍完公式后表示,让我们用 Python 来看一个排队分析的实际例子。
该 Python 方法将符号化的 公式应用于一个具体的银行柜员数值示例。
为判断哪个更优,我们分别计算每个选项的期望值。
期望值计算方法是一种特定的定量工具,在决策分析这一更广泛的框架内,用于在不确定性条件下评估备选方案。
开场讲解定义了运筹学。
标题页包含定义文字。
讲述者列举了核心领域。
幻灯片展示了三个已命名的领域。
讲述者用语言定义线性规划。
定义面板在屏幕上可见。
标准形式方程被展示出来。
讲述者解释目标函数、约束条件和非负性。
示例面板列出了利润、人工使用量、可用工时以及代码注释。
旁白朗读生产问题及其目标。
代码显示 ,并附注释:'取负号以实现最大化'。
旁白指出目标是最大化 ,而代码中却使用了负系数。
讲解员明确指出 linprog 默认执行最小化,因此系数需取负值。
代码注释写道:‘负值用于最大化’。
代码显示约束条件: <= 100,其中 ,。
讲解员称该约束被定义为矩阵 A 和向量 b。
定义卡片指出:排队论是研究等待队列的数学分支,用于分析和优化服务系统的性能。
讲解员复述该定义,并提及呼叫中心和银行柜台排队系统。
关键组成部分列表包括:到达过程、服务时间、排队规则、系统容量、服务台数量。
讲解员逐一定义每个组成部分。
左侧面板将 解读为:马尔可夫型到达、马尔可夫型服务、单个服务台。
讲解员逐个解释该记号中各符号的含义。
右侧面板列出公式:,,。
讲解员朗读相同公式,并指出 λ 和 μ 的含义。
已覆盖 · 音频与标题幻灯片中对运筹学的开篇定义。
已覆盖 · 核心领域概览:线性规划、排队论、决策分析。
已覆盖 · 线性规划的定义,以及标准形式的展示,并对其中符号作了解释。
已覆盖 · 通过一个生产实例进行讲解:将其转化为线性规划,并设置 scipy.optimize.linprog;片段结束前未显示求解器输出结果。
已覆盖 · 线性规划示例、代码设置及幻灯片切换过程。
已覆盖 · 简短的幻灯片切换,不包含新的数学内容。
已覆盖 · 排队论定义及组成部分概览。
已覆盖 · 简短的幻灯片切换,不包含新的数学内容。
已覆盖 · 模型的假设、公式及稳定性条件。
已覆盖 · 银行出纳员Python示例;视频片段在显示数值结果前结束。
已覆盖 · 排队论公式及Python实现示例。
已覆盖 · 决策分析的定义及其关键要素。
已覆盖 · 期望值计算方法在投资决策实例中的应用。
已覆盖 · 运筹学主题概览(线性规划、排队论、决策分析)。
已覆盖 · 总结幻灯片,详细说明运筹学的三个分支。
已覆盖 · 无数学内容的结束动画。
已审核中文素材 v1:知识卡片(概念卡片)「线性规划的定义」从 0:53 起——线性规划被定义为一种在相互竞争的活动中,对稀缺资源进行最优配置的方法。在实际应用中,它用于在存在约束条件限制可行方案、且需最大化或最小化某个目标时,找出最佳决策。
已审核中文素材 v1:知识卡片(概念卡片)「将单个线性约束编码为矩阵形式」出现在 1:48–2:30——类型:方法。工时不等式 <= 100在求解器中表示为单行系数矩阵 与右端向量 ,从而构成 Ax <= b。公式: , , Ax 。条件:含两个变量的单个线性不等式;求解器要求输入 A_ub 和 b_ub 数组。先修知识:线性规划生产问题。相关知识点:linprog 的调用与结果提取。时间依据:0–32.5秒。验证要点:未解释超出当前调用范围的边界处理方式。 , , Ax
已审核中文素材 v1:知识卡片(概念卡片)「排队论的定义」从 3:19 起——类型:定义。排队论被介绍为研究等待队列的数学理论,用于分析与优化服务系统的性能。片段中提到的例子包括呼叫中心和银行柜台队列。公式:无。条件:适用于具有顾客到达、等待和服务过程的系统。先修知识:本片段中无前置要求。相关知识点:排队系统组成要素及 模型。时间依据:33–69秒。验证要点:除口头描述外,未给出更严格的数学定义。
关键公式为:平均队列长度 ,平均等待时间 ,以及利用率 。
适用条件:模型是 。; 是到达率。; 是服务率。;为了稳定性,。
代码使用负系数是因为 scipy.optimize.linprog 函数默认执行最小化。为了解决最大化问题,需要对目标系数取负,将最大化利润的任务转换为最小化负利润。
适用条件:使用 scipy.optimize.linprog。;原始问题是最大化问题。
排队论是对等待队列的数学研究,用于分析和优化服务系统的性能。
适用条件:背景是运筹学。;系统涉及到达、等待和服务。
显示的标准形式是一个最大化问题,具有线性目标函数、线性不等式约束和非负决策变量。
适用条件:问题是线性规划问题。;视频显示了一个特定的模板。
劳动约束以矩阵形式 表示。变量 x 和 y 的系数构成矩阵 A,右侧常数构成向量 b。
适用条件:约束是线性的。;使用 scipy.optimize.linprog。
第一个 M 代表马尔可夫(泊松)到达,第二个 M 代表马尔可夫(指数)服务时间,1 代表单服务器。
适用条件:符号指的是排队模型。;模型是 队列。
通过将每个可能的结果乘以其概率并对结果求和来计算期望值。选择具有较高期望值的股票作为更好的投资。
适用条件:所有结果的概率之和为 1。;每只股票的结果和概率已知。
为了使 队列保持稳定,利用率因子 必须严格小于 1。这意味着到达率 必须小于服务率 。
适用条件:模型是 。;。