请选择 进入手机版 | 继续访问电脑版

QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3822|回复: 2

关于银行定存最优化配置的模型和计算方法,求指点,谢谢

[复制链接]
字体大小: 正常 放大

1

主题

2

听众

5

积分

升级  0%

该用户从未签到

发表于 2019-5-14 14:40 |显示全部楼层
|招呼Ta 关注Ta
本人是建模和lingo新手,最近遇到一个最优化问题,可能建模不合理,导致变量太多,用lingo11跑了一天一夜都没有算出结果,求各位达人帮忙指点一下,谢谢!
问题如下:
有一笔资金M,可以存到4家银行,这4家银行提供的定存利率(年化利率)都不相同,利率跟金额和存期有关系,附件提供一个例子。
约束条件:1. 平均存期不超过N,例如100元存30天,200元存60天,那平均存期就是(100*30+200*60)/300.
                2. 存到各个银行的比例不超过25%。


本人自己建模是这样的:
设第i个银行第i种定存产品的金额为x1i,存期为y1i,存款利率为f(x1i,y1i)
将4家银行的定存产品拆分开来,例如
f(x11,y11)=2%, if x11∈(0, 100),y11∈(0, 30)
f(x12,y12)=3%, if x12∈[100, 200),y12∈(0, 30)
f(x13,y13)=4%, if x13∈[200, 无穷),y13∈(0, 30)
...
目标函数: max z=f(x1i, y1i) * x1i + f(x2i, y2i) * x2i + f(x3i, y3i) * x3i + f(x4i, y4i) * x4i
约束条件:
∑x1i +∑x2i +∑x3i+∑x4i <= M
∑x1i <= 25%M
∑x2i <= 25%M
∑x3i <= 25%M
∑x4i <= 25%M
∑(x1i*y1i) + ∑(x2i*y2i) + ∑(x3i*y3i) + ∑(x4i*y4i) <= N
x和y同时等于0或同时不等于0


lingo11 代码如下:
max = 0 + x_ICB1M * @if(y_ICB1M#EQ#0, 0, @if(y_ICB1M#LT#30, 0, @if(y_ICB1M#GE#60, 0, @if(x_ICB1M#GE#0, 0.017584, 0))))+
x_ICB1W * @if(y_ICB1W#EQ#0, 0, @if(y_ICB1W#LT#7, 0, @if(y_ICB1W#GE#14, 0, @if(x_ICB1W#GE#0, 0.0168643, 0))))+
x_ICB2M * @if(y_ICB2M#EQ#0, 0, @if(y_ICB2M#LT#60, 0, @if(x_ICB2M#GE#0, 0.0177393, 0)))+
x_ICB2W * @if(y_ICB2W#EQ#0, 0, @if(y_ICB2W#LT#14, 0, @if(y_ICB2W#GE#30, 0, @if(x_ICB2W#GE#0, 0.0175857, 0))))+
x_ICBON * @if(y_ICBON#EQ#0, 0, @if(y_ICBON#NE#1, 0, @if(x_ICBON#GE#0, 0.001625, 0)))+
x_SCB1M * @if(y_SCB1M#EQ#0, 0, @if(y_SCB1M#LT#30, 0, @if(y_SCB1M#GE#60, 0, @if(x_SCB1M#GE#0, 0.014, 0))))+
x_SCB1W * @if(y_SCB1W#EQ#0, 0, @if(y_SCB1W#LT#7, 0, @if(y_SCB1W#GE#14, 0, @if(x_SCB1W#GE#0, 0.007, 0))))+
x_SCB2M * @if(y_SCB2M#EQ#0, 0, @if(y_SCB2M#LT#60, 0, @if(x_SCB2M#GE#0, 0.016, 0)))+
x_SCB2W * @if(y_SCB2W#EQ#0, 0, @if(y_SCB2W#LT#14, 0, @if(y_SCB2W#GE#30, 0, @if(x_SCB2W#GE#0, 0.008, 0))))+
x_SCBON * @if(y_SCBON#EQ#0, 0, @if(y_SCBON#NE#1, 0, @if(x_SCBON#GE#0, 0.005, 0)));


100000000 >= 0 + x_ICB1M+ x_ICB1W+ x_ICB2M+ x_ICB2W+ x_ICBON+ x_SCB1M+ x_SCB1W+ x_SCB2M+ x_SCB2W+ x_SCBON;
4000000000 >= 0 + x_ICB1M * y_ICB1M+ x_ICB1W * y_ICB1W+ x_ICB2M * y_ICB2M+ x_ICB2W * y_ICB2W+ x_ICBON * y_ICBON+ x_SCB1M * y_SCB1M+
x_SCB1W * y_SCB1W+ x_SCB2M * y_SCB2M+ x_SCB2W * y_SCB2W+ x_SCBON * y_SCBON;
60000000.0 >= 0 + x_ICB1M+ x_ICB1W+ x_ICB2M+ x_ICB2W+ x_ICBON;
40000000.0 >= 0 + x_SCB1M+ x_SCB1W+ x_SCB2M+ x_SCB2W+ x_SCBON;
y_ICB1M = @if(x_ICB1M#EQ#0, 0, y_ICB1M);x_ICB1M = @if(y_ICB1M#EQ#0, 0, x_ICB1M);
y_ICB1W = @if(x_ICB1W#EQ#0, 0, y_ICB1W);x_ICB1W = @if(y_ICB1W#EQ#0, 0, x_ICB1W);
y_ICB2M = @if(x_ICB2M#EQ#0, 0, y_ICB2M);x_ICB2M = @if(y_ICB2M#EQ#0, 0, x_ICB2M);
y_ICB2W = @if(x_ICB2W#EQ#0, 0, y_ICB2W);x_ICB2W = @if(y_ICB2W#EQ#0, 0, x_ICB2W);
y_ICBON = @if(x_ICBON#EQ#0, 0, y_ICBON);x_ICBON = @if(y_ICBON#EQ#0, 0, x_ICBON);
y_SCB1M = @if(x_SCB1M#EQ#0, 0, y_SCB1M);x_SCB1M = @if(y_SCB1M#EQ#0, 0, x_SCB1M);
y_SCB1W = @if(x_SCB1W#EQ#0, 0, y_SCB1W);x_SCB1W = @if(y_SCB1W#EQ#0, 0, x_SCB1W);
y_SCB2M = @if(x_SCB2M#EQ#0, 0, y_SCB2M);x_SCB2M = @if(y_SCB2M#EQ#0, 0, x_SCB2M);
y_SCB2W = @if(x_SCB2W#EQ#0, 0, y_SCB2W);x_SCB2W = @if(y_SCB2W#EQ#0, 0, x_SCB2W);
y_SCBON = @if(x_SCBON#EQ#0, 0, y_SCBON);x_SCBON = @if(y_SCBON#EQ#0, 0, x_SCBON);




银行利率示例

银行利率示例
zan

0

主题

1

听众

81

积分

升级  80%

  • TA的每日心情

    2020-2-17 19:58
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    自我介绍
    小白菜楼
    回复

    使用道具 举报

    liwenhui        

    70

    主题

    65

    听众

    5192

    积分

    独孤求败

  • TA的每日心情
    擦汗
    2018-4-26 23:29
  • 签到天数: 1502 天

    [LV.Master]伴坛终老

    自我介绍
    紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。 重剑无锋,大巧不工。四十岁前恃之横行天下。 四十岁后,不滞于物,草木竹石均可为剑。自此精修,渐进至无剑胜有剑之境。

    社区QQ达人 邮箱绑定达人 发帖功臣 元老勋章 新人进步奖 风雨历程奖 最具活力勋章

    群组计量经济学之性

    群组LINGO

    M和N需要是已知的常数才符合这类问题的要求,因为M和N都未知,造成LINGO无法求解。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-3-29 13:47 , Processed in 0.529307 second(s), 66 queries .

    回顶部