数学模型4.7 例1 广告投入
书里不断递增广告费上限,并求解各广告费上限约束下的吸引总人数。从两者的关系出发,对多目标规划(广告费希望最少,吸引人数希望最多)进行探讨。
广告费需要取不同数值,一次次手工输入十分麻烦,但如果运用lingo子模型,可以轻松地一次运算出来。
我们可以定义两个子模型,分别代表目标函数和约束条件。
其实子模型有点类似matlab里的函数。
!子模型目标函数:吸引目标人群最多;
submodel people_max:
max=y_sum;
endsubmodel
!子模型约束条件;
submodel sub_constraints:
@sum(media(i):x(i))<=x_sum;!广告费上限约束;
@for(people(j):y(j)=@smin(@sum(media(i):A(i,j)*x(i)),U(j)));
!@for(people(j):y(j)=U(j));!吸引所有潜在人群;
@for(people(j):y(j)>=L(j));!最小数量约束;
y_sum=@sum(people(j):y(j));!总吸引人数;
用for循环对不同的广告费上限进行求解,一共是16次。中间用@solve函数调用前面的两个子模型。(这一段要放在calc里写)
!分别求解不同广告费上限的优化问题;
@for(point(n):x_sum=x_start+(n-1)*x_add;
@solve(people_max,sub_constraints);!求解子模型;
!记录计算结果;
x_lim(n)=x_sum;
y_lim(n)=y_sum;);
完整的代码如下:
model:
sets:
media/1..5/:x;
people/1..7/:y,L,U;
link(media,people):A;
point/1..16/:x_lim,y_lim; !x_lim广告费上限,y_lim对应吸引到的最大人数;
endsets
data:
!广告的效果系数矩阵;
A=
0 10 4 50 5 0 2
0 10 30 5 12 0 0
20 0 0 0 0 5 3
8 0 0 0 0 6 10
0 6 5 10 11 4 0;
!希望吸引的目标人群最小数量;
L=25 40 60 120 40 11 15;
!可能吸引的目标人群最大数量;
U=60 70 120 140 80 25 55;
!广告费上限初值和每次求解的增量;
x_start=6.5; x_add=0.5;
enddata
!子模型目标函数:吸引目标人群最多;
submodel people_max:
max=y_sum;
endsubmodel
!子模型约束条件;
submodel sub_constraints:
@sum(media(i):x(i))<=x_sum;!广告费上限约束;
@for(people(j):y(j)=@smin(@sum(media(i):A(i,j)*x(i)),U(j)));
!@for(people(j):y(j)=U(j));!吸引所有潜在人群;
@for(people(j):y(j)>=L(j));!最小数量约束;
y_sum=@sum(people(j):y(j));!总吸引人数;
endsubmodel
calc:
!系统参数设置;
@set('terseo',1);!只输出简单的求解信息;
@set('stawin',0);!关闭求解状态窗口;
!分别求解不同广告费上限的优化问题;
@for(point(n):x_sum=x_start+(n-1)*x_add;
@solve(people_max,sub_constraints);!求解子模型;
!记录计算结果;
x_lim(n)=x_sum;
y_lim(n)=y_sum;);
!显示所记录的结果;
@write('广告费(万元) 总人数(万人)',@newline(1));!@write函数用于输出结果,@newline即输出新行;
@for(point(n):@write(@format(x_lim(n),'#12.1f'),@format(y_lim(n),'#12.1f'),@newline(1)));
endcalc
end
在lingo末尾输出这次程序的结果,这里用@format函数保留数据1位小数(这样看起来和书上一模一样= _=)。
最后用matlab画个图看看:
看起来没毛病|ू・ω・` )
相关知识
虫害早期预警数学模型建立.docx
农业生产中的数学模型
质量投入成本
微生物杀虫剂非线性模型的研究
江西投入约4.7亿元建设化工园区突发水污染防控体系
几类蚜虫生物防治数学模型的研究与分析
病虫害预测预报模型.docx
杏鲍菇子实体生长期光调控模型研究
数据分析入门——以鸢尾花分类为例
下图1表示某动物的细胞分裂过程中染色体行为变化的模式图(2N=4),图2是在分裂过程中染色体数目变化的数学模型图,分析回答:(1)图1中细胞②为
网址: lingo子模型——数学模型4.7 例1 广告投入 https://m.huajiangbk.com/newsview950722.html
上一篇: 网络广告怎么投放?这里有几个技巧 |
下一篇: 老国货翻红vs新品牌崛起,谁的营 |