- D1 o& t! T2 o: [9 [记 N 为产品种数。产品编号为i( N i =1, 2,...1 L= ),转移概率矩阵的元素记为,稳定状态下产品i的市场份额记为 . 因为是稳定状态,所以应该有 $ ~+ q' b* O. [. Z; u( m" W
4 C/ f, [2 \$ B) g1 ]; M; N (1)+ ]% q' @) D. C! K) t8 w8 y
+ u$ o5 N* ~& Q. o+ O不过,这N 个方程实际上并不独立,至少有一个是冗余的。好在我们还有另一个 约束,即 N 种产品的市场份额之和等于1 3 {) r. V; w! t2 N1 \2 s$ s6 Y# v4 z
. \, G. f5 O7 J! @ (2) % |1 s3 ~; X9 C; L
0 a0 t1 T; u4 u/ v+ C. x. ^可见,这个问题的模型实际上是一个非常简单的方程组(当然,还应该增加概率 非负的约束)。如果把这些看成约束条件,那就是一个特殊的优化模型(没有目标函数)。 1 W( ?4 K: I1 s, b1 w/ U% E/ _# K/ e, h- W
(3)模型的求解 7 V g. I/ x$ V9 E: c0 K7 l7 a5 \: q' N2 i* e& g% w4 L/ c
LINGO程序如下: - g1 p0 S, Z2 H+ [% [* X+ }7 z2 Y0 S8 j) D$ A! c% h
MODEL: ' _( X+ B% f0 i
TITLE 新产品的市场预测; 3 \; H9 O7 L0 ?$ a5 X" W, J. p/ K
SETS: 5 S4 l4 O( C. ]0 Z, [; D& ~( l PROD/ A B C D/: P; * h- G. A6 W7 d8 x
LINK(PROD, PROD): T; 3 Y; B0 c3 f9 Q# ]$ n7 Z
ENDSETS 0 q# S7 t0 @- \+ S. WDATA: ! 转移概率矩阵; , e" M3 S& @0 c& K$ j+ Y T = .75 .1 .05 .1 9 Q5 h6 W* w& c$ m .4 .2 .1 .3 ( e, Q1 X$ f, G1 y6 Q .1 .2 .4 .3 / o' H. R. F' D
.2 .2 .3 .3; 1 K3 I7 M* c6 vENDDATA 3 b- g, I% [/ K% {+ }0 h5 J@FOR(PROD(I): P(I)=@SUM(LINK(J,I): P(J)* T(J,I)) ); 3 k7 |8 j2 Y% l# Z% v
@SUM(PROD: P) = 1; 3 q! s- C- p- K: f- W* _@FOR(PROD(I): @WARN( '输入矩阵的每行之和必须是1', @ABS( 1 - @SUM(LINK(I,J): T(I,J)))#GT# .000001)); 2 Q- N$ |5 O, Q0 N, m$ @8 _
END : P5 y \! ?. U- z可以指出的是,上面LINGO模型中后的语句@WARN只是为了验证输入矩阵的每行 之和必须是1,而且我们看到为了比较两个实数(如X和1)是否相等,一般不能直接用 “X#NE#1”,因为受计算机字长(精度)的限制,实数在计算机内存存储是有误差的。所 以,通常的方法是比较这两个实数之差的绝对值是否足够小。 求解结果为 A ,B ,C, D的市场份额分别是47.5%,15.25%,16.75%,20.5%。 ) R7 h3 D! I/ ?$ n6 ?7 E, b: d1 H2 S) B5 z4 Y) R
; W; O# e" p5 I
4 {$ E, O& J1 _- L, o2 W' w+ c习题:假设某公司在银行有一个现金帐户和一个长期投资帐户,现金帐户利息很低, 而长期投资帐户利息较高。所有业务往来(收入和支出)只能通过现金帐户进行,如果 现金帐户中钱很多,就可能需要将一部分钱转入长期投资帐户;反之,需要将一部分钱从长期投资帐户转入现金帐户。为简单起见,假设以万元为单位,现金帐户的钱数只能 是-20,-10,0,…,40,50(万元)之一,分别记为状态1,2,…,7,8,它们 每个月分别导致的费用如表12所示。此外,根据统计,如果当月现金帐户的状态位于i ( 2 ≤i ≤7 ),下个月现金帐户的状态只可能位于 i-1,i,i+1 三者之一,并且概率分别为0.4,0.1,0.5;如果当月现金帐户的状态位于1,则下个月现金帐户的状态只可 能位于1和2,并且概率分别为0.5,0.5;如果当月现金帐户的状态位于8,则下个月 现金帐户的状态只可能位于7和8,并且概率分别为0.4,0.6。 6 E3 e! { ?6 q7 Z- q- I" \" R3 k: c/ G8 Y% u$ V+ e # t8 }7 Y& M) A+ E* M5 H" m* K) x5 o" d/ v1 P
每月初你可以改变当前状态(即从长期投资帐户转入现金帐户,或从现金帐户转入 长期投资帐户),但假设每次状态的改变银行收取0.3万元的固定费用,此外还要收取 转帐金额5%的转帐手续费。请你建立优化模型,确定如果当月现金帐户的状态位于i, 是否应该改变当前状态,如何改变状态? 2 R! O, A* B1 {& d6 O% {- ?$ J d
———————————————— 6 ]7 d7 X7 ]/ P. W版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。: A8 N6 X. C3 Z( N
原文链接:https://blog.csdn.net/qq_29831163/java/article/details/894128120 p- _$ f& I% k0 w. T2 A! G
& t$ Q6 S4 z# X' M3 k6 L