虽然写了带时间窗的程序,但是求分段函数和定积分的部分一直有各种各样的错误
另一方面,因为我自身的基础不好,所以对哪个维度会统一的问题可能不敏感
请大神看看问题出在哪里
附加程序:
P1=zeros (8,1 );
p2=zeros (8,1 );
mot=zeros (8,1 );
mot _ c=zeros (8,1 );
t=zeros (8,2 ); %时间窗组合
a=zeros (8,1 ); %时间窗的起点
b=zeros (8,1 ); %时间窗口的终点
D=96; %最晚取箱时间
d=12; %时间窗弹性时间
for x=1:8
t(x,1 )=) x-1 ) *12 1;
t(x,2 )=x*12;
结束
a=t (3360,1 );
b=t (3360,2 );
t=1:97; 为了取t=0时mot值
for x=1:8
mot=@@t(-2/a(x,1 ) ABS ) t-) (a ) x,1 )-d ) ).* ) t0t
0.* () t=a(x,1 )-d tb(x ) x,1 ) t=a(x,1 ) d ) ) .
2.5*a(x,1 ).* (t=a ) x,1 ) t=b ) x,1 ) ) ABS ) t-(b,1 ) d ) ) ) TB ) x,1 ) ) ABS ) b652
---------------------------------------------------在这里,无论尝试哪一种表达方法似乎都有错误。
if t0 t
mot=@@t(-2/a(x,1 ).* ABS (t-) (a ) x,1 )-d ) )
elseif(t=a(x,1 )-d tb(x ) x,1 ) t=b (x,1 ) d ) ) ) ) ) ) )。
mot=0;
elseift=a(x,1 ) t=b (x,1 ) ) ) ) ) ) )。
mot=2.5.*a(x,1 );
elseifTB(x,1 ) d t
mot=@(t )-2/a(x,1 ).* ABS (t-) (b(x,1 ) d ) );
结束
------------- -请参阅
k=min(feval(mot,0 ),f eval (mot,d ); 采取%正的结构
fun1=@(t ) ) exp(-0.25.*a ) x,1 )-exp(-0.25.*b ) x,1 ) ).* ) *(mot-K ); %补助金函数
P0=quad (fun 1,0,d );
p1(x,1 )=quad ) fun1/P0,0,a ) ) x,1 ); %比时间窗早带走的概率
P2(x,1 )=quad ) fun1/P0,b ) x,1 ),d ); %晚于时间窗带走的概率
mot_c(x,1 )=quad(fun*mot/quad ) fun,0,d ),max ) 0,a ) x,1 )-d ),min (b ) x,1 ) d );
结束
虽然恶作剧了一两天,但还是没有解决
跑到这里来求助
别戏弄我。 嗯,非常感谢