有一组人,他们的月收入分别是:800,820,870,1000,1050,1100,1200,1250,1500,160

有一组人,他们的月收入分别是:800,820,870,1000,1050,1100,1200,1250,1500,1600,1800,2000,2500,3600,4500,5600,8000,10000,12000,15000.税收制度为,超过起征点的部分按20%交税.假设我们用税后收入的方差来衡量贫富差距,那么,起征点多少的时候,贫富差距最小?
这是我的想法,但求出来,x一直为零.
model:
sets:
people/1..20/:a,b,c;!a是税前收入;c是税后收入;
endsets
min=@sum(people(j):((c(j)-s)^2));!s是平均数;
s=@sum(people(j):c(j))/20;!求s;
@for(people(j):b(j)=@if(a(j)-x #gt# 0,1,0));!b(j)就是一个零一变量;
@for(people(j):c(j)=a(j)-(a(j)-x)*0.8*b(j));!用b(j)来看收入是否超过了起征点,进而进行税后收入的计算;
data:
a=800 820 870 1000 1050 1100 1200 1250 1500 1600 1800 2000 2500 3600 4500 5600 8000 10000 12000 15000;
enddata
end
byjove 1年前 已收到1个回答 举报

clong1986 花朵

共回答了21个问题采纳率:95.2% 举报

可以 确实是0 这个没问题 问题在于你衡量的方式 用方差的话就是0 你可以找一下其它方式
model:
sets:
point:a,b;
endsets
data:
a=800,820,870,1000,1050,1100,1200,1250,1500,1600,1800,2000,2500,3600,4500,5600,8000,10000,12000,15000;
enddata
min=@sum(point:(b-@sum(point:b)/@size(point))^2);
@for(point:b=a-@if(a#gt#x,0.2*(a-x),0));
end

1年前 追问

7

byjove 举报

意思就是说,根据题目的要求和给出的数据,计算出来纳税起征点就是零!?

举报 clong1986

是的 这个其实可以自己想一下 比如起征点是800 那么每个人都少交了160的税 根据方差的平移不变性其实跟起征点是0一样 再比如起征点是820 除了第一个人都少交了820*0.2的税 但是第一个人只少交了800*0.2的税 这样方差反而增大了
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.425 s. - webmaster@yulucn.com