供应链 | 零售商-供应商柔性承诺契约:一种鲁棒优化方法 (一)

news2024/11/26 22:36:57

在这里插入图片描述

论文解读:毕鑫宇

作者:Aharon Ben-Tal, Boaz Golany, Arkadi Nemirovski, Jean-Philippe Vial
引用:Ben-Tal, A., Golany, B. , Nemirovski, A., & Vial, J. P… (2005). Retailer-supplier flexible commitments contracts: a robust optimization approach. Manufacturing & Service Operations Management, 7(3), 248-271.
文章链接:https://doi.org/10.1287/msom.1050.0081

问题定义

文章研究了一个两阶段多周期供应链问题,称为零售商-供应商柔性承诺问题 (retailer-supplier flexible commitment,RSFC).

"零售商-供应商柔性承诺问题"是一个供应链管理的概念,涉及到供应商和零售商之间的合同安排。它主要关注如何灵活地承诺产品或服务的供应,以应对市场需求的不确定性。在这种情况下,"柔性承诺"通常是指供应商对零售商做出的灵活供应承诺,即供应商将根据市场条件的变化和/或零售商的需求来调整产品或服务的供应量。这种灵活性可以帮助供应链更好地应对市场的波动和不确定性,例如季节性的需求变化或突发事件导致的需求激增.然而,这种柔性承诺也会带来一些挑战,包括:

  1. 需求预测:供应商需要准确地预测未来的需求以准备适当的供应量;
  2. 生产和库存管理:供应商需要灵活地管理生产和库存以满足不断变化的需求;
  3. 合同设计:供应商和零售商需要设计一种合同,可以公平地分享柔性承诺带来的收益和风险。

文章所关注的RSFC问题具有不确定需求,且已知只存在某不确定集中。具体而言,此问题涉及一家零售商,该零售商面临终端客户对产品的不确定需求。 零售商从供应商处订购并根据合同进行运营,根据该合同,零售商承诺(在时间为零时)固定时间范围内的订单数量向量,然后动态地用实际订单替换这些承诺的数量。 除了通常的成本(订购、持有和短缺)和最终残值之外,零售商还会因实际订单与承诺订单之间的偏差以及连续承诺/实际订单之间的偏差而受到处罚而产生额外成本。

作者采用最小-最大 (min-max) 准则,即解决 min-max RSFC 问题。为解决大规模复杂系统问题,文章采用适用于动态决策问题的鲁棒优化方法的扩展,即仿射可调鲁棒对等方法 (affinely adjustable robust counterpart,AARC), 详见 Ben-Tal et al. (2004).

AARC 的一个主要特点是在了解部分不确定数据后,可以确定部分决策变量。 在 AARC 方法中,这些“可调整”变量对已实现数据的依赖性仅限于仿射函数的形式,因而实现易处理性。 事实上,在 AARC 方法中,一系列不确定的线性规划被单个易处理的确定性问题(线性或二次曲线问题)所取代。 当然,仅使用次优策略所付出的代价是因具体问题而异的,但对于文章讨论的问题,作者通过大型模拟研究,表明该代价非常低。

模型构建

文章考虑一个单产品、两阶段 (echelon)、 T T T周期、定期管理库存的问题。在计划范围的开始,零售商为产品指定承诺向量 w = w 1 , … , w T w=w_1,\ldots,w_T w=w1,,wT, 作为供应商对其生产能力的预测。在每个时期 t t t开始时,零售商初始库存为 x t x_t xt,且以单位成本 c t c_t ct从供应商处订购数量 q t q_t qt, 随后收到顾客需求。零售商在计划范围开始时的状态通过参数 x 1 x_1 x1(初始库存)和 w 0 w_0 w0(一个名义值,可能表示计划范围之前的最后一个订单或以前订单的平均值)给出。因此,产生了以下成本:

  1. 持有成本 = h t max ⁡ [ x t + q t − d t , 0 ] =h_t\max[x_t+q_t-d_t, 0] =htmax[xt+qtdt,0],其中 h t h_t ht为单位持有成本,
  2. 缺货成本 = p t max ⁡ [ d t − x t − q t , 0 ] =p_t\max[d_t-x_t-q_t, 0] =ptmax[dtxtqt,0],其中 p t p_t pt为单位缺货成本。
    此外,由于合同的规定,零售商产生了以下额外费用:
  3. 由于承诺订单和实际订单之间的偏差而造成的惩罚成本(可理解为“预测误差”)
    α t + m a x [ q t − w t , 0 ] + α t − m a x [ w t − q t , 0 ] , \alpha_t^+max[q_t-w_t,0]+\alpha_t^-max[w_t-q_t,0], αt+max[qtwt,0]+αtmax[wtqt,0],
    其中 α t + , α t − \alpha_t^+,\alpha_t^- αt+,αt分别为正偏差和负偏差的单位惩罚成本;
  4. 对连续承诺之间偏差的惩罚成本
    β t + m a x [ w t − w t − 1 , 0 ] + β t − m a x [ w t − 1 − w t , 0 ] , \beta_t^+max[w_t-w_{t-1},0]+\beta_t^-max[w_{t-1}-w_t,0], βt+max[wtwt1,0]+βtmax[wt1wt,0],
    其中 β t + , β t − \beta_t^+,\beta_t^- βt+,βt是相关的单位惩罚。

同时,计划期末的剩余存货 x T + 1 x_{T+1} xT+1存在单位残值为 s s s, 且要求为了在文章的上下文中有意义, s < c T s<c_T s<cT. 且为保持模型中目标函数的凸性, s s s必须在终端周期 T T T满足不等式
h T − s ≥ − p T h_T-s\geq-p_T hTspT

模型中的约束包括:

  1. 库存平衡: x t + 1 = x t + q t − d t x_{t+1}=x_t+q_t-d_t xt+1=xt+qtdt;
  2. 每个时期订购量的上下界: L t ≤ − q t ≤ U t L_t\leq-q_t\leq U_t LtqtUt;
  3. 每个时期累计订购量的上下界: L ^ t ≤ ∑ τ = 1 t q τ ≤ U ^ t \hat L_t\leq \textstyle\sum_{\tau=1}^tq_\tau\leq \hat U_t L^tτ=1tqτU^t.

后两类约束条件中参数 ( L t , U t , L ^ t , U ^ t ) (L_t,U_t,\hat L_t,\hat U_t) (Lt,Ut,L^t,U^t)赋值的选择为零售商和供应商之间的各种契约协议提供了柔性模型的灵活性。


如果模型的所有参数都已知,包括需求向量 d = ( d 1 , … , d T ) d=(d_1,\ldots,d_T) d=(d1,,dT),则 RSFC 问题用以下确定性数学规划表示(其中 [ ξ ] + ≡ max ⁡ [ ξ , 0 ] [\xi]^+\equiv \max[\xi,0] [ξ]+max[ξ,0]):

AARC方法

RSFC问题,像许多其他的OM问题一样,是一个一般的不确定T-时期LP问题的实例,它的数据 { ( A t , c t , b t ) : \{(A_t,c_t,b_t): {(At,ct,bt):
t = 1 , 2 , … , T } t=1,2,\ldots,T\} t=1,2,,T}仿射性依赖于不确定参数 λ = ( λ 1 , λ 2 , … , λ T ) \lambda=(\lambda_1,\lambda_2,\ldots,\lambda_T) λ=λ1,λ2,,λT)的向量:
min ⁡ x = x 1 , … , x T { ∑ t = 1 T c t ( λ ) x t : ∑ τ = 1 t x τ A t τ ( λ ) ≤ b t ( λ ) , t = 1 , 2 , … , T } \displaystyle\min_{x=x_1,\ldots,x_T}\{\sum_{t=1}^Tc_t(\lambda)x_t:\sum_{\tau=1}^tx_\tau A_t^\tau(\lambda)\leq b_t(\lambda),t=1,2,\ldots,T\} x=x1,,xTmin{t=1Tct(λ)xt:τ=1txτAtτ(λ)bt(λ),t=1,2,,T}

其中 A t τ , b t A_t^\tau,b_t Atτ,bt是相同维数的向量。

将向量 x x x划分为 x = ( x a , x n a ) x=(x^a,x^{na}) x=(xa,xna)。其中子向量量 x n a x^{na} xna(不可调变量)由“here and now”决策组成,即必须在任何不确定数据实现之前确定的决策。(在RSFC问题中,它们是:量 q 1 q_1 q1-第一时期的订购量,以及承诺量 w 1 , w 2 , … , w T w_1,w_2,\ldots,w_T w1,w2,,wT.)子向量量 x a x^a xa(可调变量)由“wait and see”决策组成,这些决策可以在必须做出决策时根据所显示的数据进行调整(在RSFC问题中, x a = ( q 2 , … , q T ) x^a=(q_2,\ldots,q_T) xa=q2,,qT))。

x = ( x a , x n a ) x=(x^a,x^{na}) x=(xa,xna)的划分会导致索引集 { 1 , 2 , … , T } = I a ∪ I n a \{1,2,\ldots,T\}=I_a\cup I_{na} {1,2,,T}=IaIna的划分,根据这个划分,我们现在可以对时间相关(多周期)不确定LP进行如下建模:

最小-最大多周期可调鲁棒对等(Adjustable Robust Counterpart,ARC)

min ⁡ x n a , E { E : s u c h t h a t ∀ λ ∈ Λ ∃ x t = x t ( λ t − 1 ) , t ∈ I a : \displaystyle\min_{x_{na},E}\{E:such that \forall\lambda \in\Lambda \exists x_t=x_t(\lambda^{t-1}),t\in I_a: xna,Emin{E:suchthatλΛ∃xt=xt(λt1),tIa:
∑ τ ∈ I n a c τ ( λ ) x τ + ∑ τ ∈ I a c τ ( λ ) x τ ( λ τ − 1 ) ≤ E , \sum_{\tau \in I_{na}}c_\tau(\lambda)x_\tau+\sum_{\tau \in I_{a}}c_\tau(\lambda)x_\tau(\lambda^{\tau-1})\leq E, τInacτ(λ)xτ+τIacτ(λ)xτ(λτ1)E,
∑ τ ∈ I n a ( t ) x τ A t τ ( λ ) + ∑ τ ∈ I a ( t ) x τ ( λ t − 1 ) A t τ ( λ ) ≤ b t ( λ ) , \sum_{\tau \in I_{na}(t)}x_\tau A_t^\tau(\lambda)+\sum_{\tau \in I_{a}(t)}x_\tau(\lambda^{t-1}) A_t^\tau(\lambda)\leq b_t(\lambda), τIna(t)xτAtτ(λ)+τIa(t)xτ(λt1)Atτ(λ)bt(λ),
t = 1 , … , T } t=1,\ldots,T\} t=1,,T}
其中 λ s = ( λ 1 , … , λ s ) \lambda^s=(\lambda_1,\ldots,\lambda_s) λs=(λ1,,λs) I n a ( t ) = I n a ∩ { 1 , … , t } , I a ( t ) = I a ∩ { 1 , … , t } I_{na}(t)=I_{na}\cap \{1,\ldots,t\},I_a(t)=I_{a}\cap\{1,\ldots,t\} Ina(t)=Ina{1,,t},Ia(t)=Ia{1,,t}.

ARC模型提供的额外灵活性被它通常在计算上难以处理(NP-hard)的事实所抵消。即使对于简单的不确定性集(例如,一般多面体集)也是如此。求解ARC模型的核心难点在于 x t a x_t^a xta与“历史” λ t − 1 \lambda^{t-1} λt1之间未知的的函数关系。为了克服这一困难,Ben-Tal等人(2004)建议通过将这些函数关系限制为仿射来近似ARC解。因此,将ARC模型中的每个可调变量 x t a x_t^a xta通过以下线性决策规则( linear decision rule,LDR)替换为:
x t a ( λ t − 1 ) = μ t 0 + ∑ τ = 1 t − 1 μ t τ λ τ x_t^a(\lambda^{t-1})=\mu _t^0+\sum_{\tau=1}^{t-1}\mu _t^\tau\lambda_\tau xta(λt1)=μt0+τ=1t1μtτλτ

其中系数 μ t τ \mu_t^\tau μtτ是新的决策变量。注意,只有当向量 λ t − 1 \lambda^{t-1} λt1在时期 t t t实现时,策略 x t a ( λ t − 1 ) x_t^a(\lambda^{t-1}) xta(λt1)的实际值才由上述LDR规则决定。于是通过上述的仿射变换,ARC模型通过仿射可调RC(AARC)模型进行近似:

E ∗ ∗ = min ⁡ x n a , E , μ s τ { E : ∀ λ ∈ Λ : ∑ τ ∈ I n a c τ ( λ ) x τ + ∑ τ ∈ I a c τ ( λ ) [ μ τ 0 + ∑ s = 1 τ − 1 μ τ s λ s ] ≤ E , E^{**}=\displaystyle\min_{x_{na},E,\mu_s^\tau}\{E:\forall\lambda \in\Lambda:\sum_{\tau \in I_{na}}c_\tau(\lambda)x_\tau+\sum_{\tau \in I_{a}}c_\tau(\lambda)[ \mu _\tau^0+\sum_{s=1}^{\tau-1}\mu _\tau^s\lambda_s]\leq E, E∗∗=xna,E,μsτmin{E:λΛ:τInacτ(λ)xτ+τIacτ(λ)[μτ0+s=1τ1μτsλs]E,
∑ τ ∈ I n a ( t ) x τ A t τ ( λ ) + ∑ τ ∈ I a ( t ) [ μ τ 0 + ∑ s = 1 τ − 1 μ τ s λ s ] A t τ ( λ ) ≤ b t ( λ ) , \sum_{\tau \in I_{na}(t)}x_\tau A_t^\tau(\lambda)+\sum_{\tau \in I_{a}(t)}[ \mu _\tau^0+\sum_{s=1}^{\tau-1}\mu _\tau^s\lambda_s] A_t^\tau(\lambda)\leq b_t(\lambda), τIna(t)xτAtτ(λ)+τIa(t)[μτ0+s=1τ1μτsλs]Atτ(λ)bt(λ),
t = 1 , … , T } . t=1,\ldots,T\}. t=1,,T}.

与LP RSFC问题对应的AARC模型

min ⁡ q t τ , x t + 1 τ , y t τ , u t τ , w t , z t , E E \displaystyle\min_{q_t^\tau,x_{t+1}^\tau,y_t^\tau,u_t^\tau,w_t,z_t,E}E qtτ,xt+1τ,ytτ,utτ,wt,zt,EminE
s . t . E ≥ ∑ t = 1 T [ c t q t 0 + y t 0 + u t 0 + z t + ∑ τ = 1 t − 1 [ c t q t τ + y t τ + u t τ ] d τ ] s.t. E\geq\sum_{t=1}^T\bigg[c_tq_t^0+y_t^0+u_t^0+z_t+\sum_{\tau=1}^{t-1}[c_tq_t^\tau+y_t^\tau+u_t^\tau]d_\tau\bigg] s.t.Et=1T[ctqt0+yt0+ut0+zt+τ=1t1[ctqtτ+ytτ+utτ]dτ]
∀ d ∈ u ℓ and ∀ t = 1 , … , T , \forall d\in u_{\ell} \text{and} \forall t=1,\ldots,T, duandt=1,,T,
( x ∗ ) x t + 1 0 ∑ τ = 1 t x t + 1 τ d τ = x t 0 + ∑ τ = 1 t − 1 x t τ d τ + q t 0 + ∑ τ = 1 t − 1 q t τ d τ − d t , (x^*) x_{t+1}^0\sum_{\tau=1}^tx_{t+1}^\tau d_\tau=x_t^0+\sum_{\tau=1}^{t-1}x_t^\tau d_\tau+q_t^0+\sum_{\tau=1}^{t-1}q_t^\tau d_\tau-d_t, (x)xt+10τ=1txt+1τdτ=xt0+τ=1t1xtτdτ+qt0+τ=1t1qtτdτdt,
y t 0 + ∑ τ = 1 t − 1 y t τ d τ ≥ h ‾ t [ x t + 1 0 + ∑ τ = 1 t − 1 x t + 1 τ d τ ] , ∀ d ∈ u b o x , y_t^0+\sum_{\tau=1}^{t-1}y_t^\tau d_\tau\geq \overline{h}_t[x_{t+1}^0+\sum_{\tau=1}^{t-1}x_{t+1}^\tau d_\tau],\forall d\in u_{box}, yt0+τ=1t1ytτdτht[xt+10+τ=1t1xt+1τdτ],dubox,
y t 0 + ∑ τ = 1 t − 1 y t τ d τ ≥ − p t [ x t + 1 0 + ∑ τ = 1 t − 1 x t + 1 τ d τ ] , ∀ d ∈ u b o x , y_t^0+\sum_{\tau=1}^{t-1}y_t^\tau d_\tau\geq -p_t[x_{t+1}^0+\sum_{\tau=1}^{t-1}x_{t+1}^\tau d_\tau],\forall d\in u_{box}, yt0+τ=1t1ytτdτpt[xt+10+τ=1t1xt+1τdτ],dubox,
u t 0 + ∑ τ = 1 t − 1 u t τ d τ ≥ α t + [ q t 0 + ∑ τ = 1 t − 1 q t τ d τ − w ] , ∀ d ∈ u b o x , u_t^0+\sum_{\tau=1}^{t-1}u_t^\tau d_\tau\geq\alpha_t^+[q_{t}^0+\sum_{\tau=1}^{t-1}q_{t}^\tau d_\tau-w_],\forall d\in u_{box}, ut0+τ=1t1utτdταt+[qt0+τ=1t1qtτdτw],dubox, > u t 0 + ∑ τ = 1 t − 1 u t τ d τ ≥ − α t − [ q t 0 + ∑ τ = 1 t − 1 q t τ d τ − w ] , ∀ d ∈ u b o x , u_t^0+\sum_{\tau=1}^{t-1}u_t^\tau d_\tau\geq-\alpha_t^-[q_{t}^0+\sum_{\tau=1}^{t-1}q_{t}^\tau d_\tau-w_],\forall d\in u_{box}, ut0+τ=1t1utτdταt[qt0+τ=1t1qtτdτw],dubox,
z t ≥ β t + ( w t − w t − 1 ) , z_t\geq\beta_t^+(w_t-w_{t-1}), ztβt+(wtwt1),
z t ≥ − β t − ( w t − w t − 1 ) , z_t\geq-\beta_t^-(w_t-w_{t-1}), ztβt(wtwt1),
L t ≤ q t 0 + ∑ τ = 1 t − 1 q t τ d τ ≤ U t , ∀ d ∈ u b o x , L_t\leq q_{t}^0+\sum_{\tau=1}^{t-1}q_{t}^\tau d_\tau\leq U_t,\forall d\in u_{box}, Ltqt0+τ=1t1qtτdτUt,dubox,
L ^ t ≤ ∑ τ = 1 t ( q τ 0 + ∑ θ = 1 τ − 1 q τ θ d θ ≤ U ^ t , ∀ d ∈ u b o x , \hat{L}_t\leq \sum_{\tau=1}^t\bigg(q_\tau^0+\sum_{\theta=1}^{\tau-1}q_\tau^\theta d_\theta\leq \hat{U}_t,\forall d\in u_{box}, L^tτ=1t(qτ0+θ=1τ1qτθdθU^t,dubox,
q t τ , ( t , τ ) ∈ J t . q_t^\tau,(t,\tau)\in J_t. qtτ,(t,τ)Jt.
该模型的具体推导详看原文的第二节和第三节。

优势

文章进行的分析表明,在AARC问题中的每一个半无限约束都可以等效地写成一组有限的线性约束或一个单一的二次约束。这些约束类型的问题被称为二次型(conic-quadratic,CQ)。众所周知,它们是多项式可解的(参见,例如,Ben-Tal和Nemirovski,2001),并且可以使用非常有效的算法(和软件,例如,MOSEK)来找到它们的解。特别地,如果所有的不确定性集都是类型为box(或者,更一般地,多面体集),则AARC是LP问题。

讨论

与其他方法一样,AARC 也有一定的局限性。
目前,其只适用于确定性线性多阶段有限周期的问题,并且只适用于不确定性是外生给定而非受内生决策变量影响的问题。例如,它不适用于今天选择的市场价格会影响明天需求的不确定性的多阶段定价问题。
AARC 方法使用最小目标函数,如果没有关于不确定参数概率分布的可靠知识,这种方法是合理的。否则,基于期望值、中位数等的目标函数可能更合适,并会导致政策不那么保守。不过,我们认为,即使在后一种情况下,如果决策者希望其所选政策在面对不确定性时的表现能得到有力的保证,也可以采用最小最大法。
最后,AARC 使用线性决策规则来获得近似解,因此无法保证最优解(通常不可能找到)接近线性决策规则。

参考文献

Ben-Tal, A., A. Goryashko, E. Guslitzer, A. Nemirovski. 2004.Adjusting robust solutions of uncertain linear programs. Math.Programming 99(2) 351–376.

Ben-Tal, A., A. Nemirovski. 2001. Lectures on Modern Convex Optimization: Analysis, Algorithms and Engineering Applications.SIAM-MPS Series in Optimization. SIAM, Philadelphia, PA.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1089294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内存空间的分配与回收之连续分配管理方式

1.连续分配管理方式 连续分配:指为用户进程分配的必须是一个连续的内存空间。 1.单一连续分配 在单一连续分配方式中&#xff0c;内存被分为系统区和用户区。系统区通常位于内存的低地址部分&#xff0c;用于存放操作系统相关数据;用户区用于存放用户进程相关数据。内存中只…

十六、 代码校验(3)

本章概要 测试驱动开发 测试驱动 vs 测试优先 日志 日志信息日志等级 测试驱动开发 之所以可以有测试驱动开发&#xff08;TDD&#xff09;这种开发方式&#xff0c;是因为如果你在设计和编写代码时考虑到了测试&#xff0c;那么你不仅可以写出可测试性更好的代码&#xff…

计算机导论实验——Linux基础入门

使用Xshell登录 Linux 主机 linux命令&#xff1a; cd&#xff1a;去哪里 pwd&#xff1a;在哪里 ls&#xff1a;查看当前有什么文件 mkdir&#xff1a;创建新目录 cp&#xff1a;复制 cat&#xff1a;连接或显示文件 rm&#xff1a;删除 mv&#xff1a;用于移动或重命名文件…

B站视频“多模态大模型,科大讯飞前NLP专家串讲”记录

文章目录 多模态&#xff1a;对齐 -- align迁移学习和zero-shotClipBlip 多模态&#xff1a; 图片、文字、视频、语音等不同的表征。 表示信息的方式有多种&#xff0c;但是不同的表示方式携带的信息不完全相同。 对齐 – align 如第一个图中&#xff0c;文字内容的描述和图…

关于一篇什么是JWT的原理与实际应用

目录 一.介绍 1.1.什么是JWT 二.结构 三.Jwt的工具类的使用 3.1. 依赖 3.2.工具类 3.3.过滤器 3.4.控制器 3.5.配置 3.6. 测试类 用于生成JWT 解析Jwt 复制jwt&#xff0c;并延时30分钟 测试JWT的有效时间 测试过期JWT的解析 四.应用 今天就到这了&#xff0c;希…

基于SpringBoot的网上订餐系统

基于SpringBoot的网上订餐系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;用户、管理员管理员&#xff1a;登录、个人中心、会员管理、…

【Unity】【VR】详解Oculus Integration输入

【背景】 以下内容适用于Oculus Integration开发VR场景,也就是OVR打头的Scripts,不适用于OpenXR开发场景,也就是XR打头Scripts。 【详解】 OVR的Input相对比较容易获取。重点在于区分不同动作机制的细节效果。 OVR Input的按键存在Button和RawButton两个系列 RawButton…

MATLAB神经网络和优化算法

文章目录 1. matlab感知器神经网络初步学习2 使用建立好的神经网络进行分类程序3 线性神经网络预测程序4 BP神经网络信号拟合程序 1. matlab感知器神经网络初步学习 %% 学习目标&#xff1a;从学习第一个最简单的神经网络案例开启学习之路 %% 感知器神经网络 用于点的分类…

orgChart.js组织架构图

OrgChart.js是什么&#xff1f; 基于ES6的组织结构图插件。 特征 支持本地数据和远程数据&#xff08;JSON&#xff09;。 基于CSS3过渡的平滑扩展/折叠效果。 将图表对齐为4个方向。 允许用户通过拖放节点更改组织结构。 允许用户动态编辑组织图并将最终层次结构保存为…

c语言表达式求值--整型提升

什么是整型提升&#xff1f; C的整型算术运算总是至少以缺省整型类型的精度来进行的。 为了获得这个精度&#xff0c;表达式中的字符和短整型操作数在使用之前被转换为普通整型&#xff0c;这种转换称为整型提升。 什么叫缺省整数类型&#xff1f;缺省在计算机里面是默认的意…

第三章 内存管理 一、内存的基础知识

目录 一、什么是内存 二、有何作用 三、常用数量单位 四、指令的工作原理 五、装入方式 1、绝对装入 2、可重定位装入&#xff08;静态重定位&#xff09; 3、动态运行时装入&#xff08;动态重定位&#xff09; 六、从写程序到程序运行 七、链接的三种方式 1、静态…

MySQL建表操作和用户权限

1.创建数据库school&#xff0c;字符集为utf8 mysql> create database school character set utf8; 2.在school数据库中创建Student和Score表 mysql> create table school.student( -> Id int(10) primary key, -> Stu_id int(10) not null, -> C_n…

服务运营 |摘要:学术+业界-近期前沿运筹医疗合作精选

推文作者&#xff1a;李舒湉 编者按 本文归纳整理了近期INFORMS Journal on Applied Analytics中的相关业界合作研究。 这些研究成果体现了运筹学在医疗健康领域实践的效果。文中的学术业界合作使用了不同的研究工具。第一篇文章使用仿真模型帮助诊所进行不同拥挤程度下诊所使用…

【Java学习之道】日期与时间处理类

引言 在前面的章节中&#xff0c;我们介绍了Java语言的基础知识和核心技能&#xff0c;现在我们将进一步探讨Java中的常用类库和工具。这些工具和类库将帮助我们更高效地进行Java程序开发。在本节中&#xff0c;我们将一起学习日期与时间处理类的使用。 一、为什么需要日期和…

并发编程——1.java内存图及相关内容

这篇文章&#xff0c;我们来讲一下java的内存图及并发编程的预备内容。 首先&#xff0c;我们来看一下下面的这两段代码&#xff1a; 下面&#xff0c;我们给出上面这两段代码在运行时的内存结构图&#xff0c;如下图所示&#xff1a; 下面&#xff0c;我们来具体的讲解一下。…

解锁机器学习-梯度下降:从技术到实战的全面指南

目录 一、简介什么是梯度下降&#xff1f;为什么梯度下降重要&#xff1f; 二、梯度下降的数学原理代价函数&#xff08;Cost Function&#xff09;梯度&#xff08;Gradient&#xff09;更新规则代码示例&#xff1a;基础的梯度下降更新规则 三、批量梯度下降&#xff08;Batc…

java io读取数据

1.字节流读取数据 2.字节流读取数据&#xff1a; read&#xff08;&#xff09; package wwx;import jdk.swing.interop.SwingInterOpUtils;import java.io.*; import java.nio.charset.StandardCharsets;public class Test {public static void main(String[] args) {FileInp…

1.1 向量与线性组合

一、向量的基础知识 两个独立的数字 v 1 v_1 v1​ 和 v 2 v_2 v2​&#xff0c;将它们配对可以产生一个二维向量 v \boldsymbol{v} v&#xff1a; 列向量 v v [ v 1 v 2 ] v 1 v 的第一个分量 v 2 v 的第二个分量 \textbf{列向量}\,\boldsymbol v\kern 10pt\boldsymbol …

机器人制作开源方案 | 杠杆式6轮爬楼机器人

1. 功能描述 本文示例将实现R281b样机杠杆式6轮爬楼机器人爬楼梯的功能&#xff08;注意&#xff1a;演示视频中为了增加轮胎的抓地力&#xff0c;在轮胎上贴了双面胶&#xff0c;请大家留意&#xff09;。 2. 结构说明 杠杆式6轮爬楼机器人是一种专门用于爬升楼梯或不平坦地面…

thinkphp6 - 超详细使用阿里云短信服务发送验证码功能,TP框架调用对接阿里云短信发验证码(详细示例代码,一键复制开箱即用)

效果图 在thinkphp 5/6 框架(只要不是太低的版本就能用)中,实现接入调用阿里云短信服务详细教程,整个配置过程及示例代码保证小白也能轻松完成! 直接复制就行,改个阿里云参数就能用了。