lingo中如何定义一个随机取得正整数已知一个数列aij,用bi表示第i行数出现的次数,每竖的次数乘以出现的次数都小于kj,即ai1*bi求和小于kj,求bi的和的最大值

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 21:52:24
lingo中如何定义一个随机取得正整数已知一个数列aij,用bi表示第i行数出现的次数,每竖的次数乘以出现的次数都小于kj,即ai1*bi求和小于kj,求bi的和的最大值

lingo中如何定义一个随机取得正整数已知一个数列aij,用bi表示第i行数出现的次数,每竖的次数乘以出现的次数都小于kj,即ai1*bi求和小于kj,求bi的和的最大值
lingo中如何定义一个随机取得正整数
已知一个数列aij,用bi表示第i行数出现的次数,每竖的次数乘以出现的次数都小于kj,即ai1*bi求和小于kj,求bi的和的最大值

lingo中如何定义一个随机取得正整数已知一个数列aij,用bi表示第i行数出现的次数,每竖的次数乘以出现的次数都小于kj,即ai1*bi求和小于kj,求bi的和的最大值
你能详细说吧 我好像已经回答过好多次了 你这种情况尽量不要出现

我遇过同样的问题,,不同的问题不同对待吧,我把以前解决自己问题的思想跟你分享一下吧,,
先定义一个足够大于它的维数的集合,然后另一个同样的维数的变量b(i)用@if语句如果变量不为零则b等于1,如果等于零则b为0,最后目标函数为min=@sum(sets1(i):b(i));即可。。。
不一样的问题解法肯定不一样,,,这是我当时解那道题的思想,,不知道对你有没有帮助。。。

全部展开

我遇过同样的问题,,不同的问题不同对待吧,我把以前解决自己问题的思想跟你分享一下吧,,
先定义一个足够大于它的维数的集合,然后另一个同样的维数的变量b(i)用@if语句如果变量不为零则b等于1,如果等于零则b为0,最后目标函数为min=@sum(sets1(i):b(i));即可。。。
不一样的问题解法肯定不一样,,,这是我当时解那道题的思想,,不知道对你有没有帮助。。。
我刚刚以为是另一个人,,,你把问题发给我吧,,我帮你分析一下,,写个程序以后你可以参考一下。。。940830146@qq.com

收起

求和的时候对指标进行约束 比如@sum(set(i)|i#lt#@size(set):a)

@pbn(p,n,x)
二项分布的累积分布函数。当n 和(或)x不是整数时,用线性插值法进行计算。
@pps(a,x)
均值为a 的Poisson 分布的累积分布函数。当x 不是整数时,采用线性插值进
行计算。
二项式分布有现成的期望公式 np
这是一个例子
利用@rand 产生15个标准正态分布的随机数和自由度为2的t 分布的随
...

全部展开

@pbn(p,n,x)
二项分布的累积分布函数。当n 和(或)x不是整数时,用线性插值法进行计算。
@pps(a,x)
均值为a 的Poisson 分布的累积分布函数。当x 不是整数时,采用线性插值进
行计算。
二项式分布有现成的期望公式 np
这是一个例子
利用@rand 产生15个标准正态分布的随机数和自由度为2的t 分布的随
机数。
model:
!产生一列正态分布和t分布的随机数;
sets:
series/1..15/: u, znorm, zt;
endsets
!第一个均匀分布随机数是任意的;
u( 1) = @rand( .1234);
!产生其余的均匀分布的随机数;
@for(series( I)| I #GT# 1:
u( I) = @rand( u( I - 1))
);
@for( series( I):
!正态分布随机数;
@psn( znorm( I)) = u( I);
!和自由度为2的t分布随机数;
@ptd( 2, zt( I)) = u( I);
!ZNORM 和ZT 可以是负数;
@free( znorm( I)); @free( zt( I));
);
end

收起

你这个定义的都不对 派生集的元素个数是所用集的元素个数相乘
你那样写b(a)自然b的元素个数就是45个 你见过定义派生集后面还写元素列表的吗
你这种情况应该定义一个5元素的集合b 然后a作为这两个集的派生集

求和的时候对指标进行约束 比如@sum(set(i)|i#lt#@size(set):a)