数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 1883|回复: 2

[求助]各位帮忙看看下面的程序如何调试

[复制链接]
发表于 2004-5-11 03:50:39 | 显示全部楼层 |阅读模式
<>%任取20组数据 解规划问题
%myfun.m
global sa sc a
function f=myfun(x)
f=(sa+x-a(1)*(sc+ones(20,1))-a(2)*ones(20,1))*(sa+x-a(1)*(sc+ones(20,1))-a(2)*ones(20,1));
%guihua.m
global sa sc a
clear
clc
% 工龄
year=[4 20 15 23 7 18 15 34 9 21 4 23 20 19 18 5 8 ...  
        23 9 15 6 5 23 8 39 5 4 6 20 4 17 4 ...
        15 6 6 4 12 1 16 21 4 24 16 19 6 5 4 ...
        23 4 24 20 24 14 12 18 8 10 1 10 26 1 14 ...
        1 20 10 12 17 2 5 2 9 22 12 3 6 4 9 ...
        2 17 22 17 2 21 5 18 23 6 23 3 4 23 6 ...
        16 9 19 19 22 2 22 4 23 22 19 11 17 10 20 ...
        19 4 28 22 20 14 21 5 15 7 6 10 20 32 22 ...
        5 16 9 23 4 46 19 6 21 6 20 16 20 6 4 ...
        7 2 1 4 12 16 6 5 17 14 9 25 17 3 2 ...
        9 6 19 10 21 19 5 22 7 20 8 23 15 6 14 ...
        1 6 4 21 7 21 7 9 13 19 27 5 3 5 6 ...
        20 20 21 19 18 12 7 22 15 21 1 2 24 28 22 ...
        16 5 12 19 18 21 26]';
% 职称 10 代表讲师 20代表助理教授 30代表副教授 40代表教授
rank=[30 20 40 40 30 30 30 40 20 30 20 40 30 30 40 20 ...
   40 40 40 20 10 30 20 40 30 20 30 30 40 30 20 20 ...
   40 20 20 20 30 30 30 40 10 40 40 40 20 20 20 40 ...
   20 40 40 20 40 20 30 20 30 10 30 40 20 30 20 30 ...
   20 30 40 30 20 20 30 40 20 20 20 40 30 20 20 20 ...
   20 40 30 40 30 40 20 30 20 20 40 20 40 30 10 20 ...
   40 20 40 20 40 40 20 40 20 20 30 40 20 20 30 20 ...
   30 30 20 20 20 30 20 30 30 30 30 20 40 40 10 40 ...
   40 30 40 20 40 30 40 30 20 20 20 20 30 20 40 20 ...
   20 20 30 30 40 20 20 40 20 30 30 20 30 30 20 40 ...
   20 30 30 30 20 10 20 20 20 30 30 20 40 30 20 10 ...
   40 40 30 40 30 20 20 20 40 30 20 40 20 40 30 30 ...
   20 10 30 40 40 20 20 30 30 30 40 30]';
%工资
salary=[54000 39072 44206 48844 49981 42649 38002 60576 ...
   30893 50979 32500 53500 43892 41147 48944 35330 ...
    57295 60576 57956 39259 45500 57170 37538 49971 ...
    52058 33130 37954 35270 59755 53500 35668 30500 ...
    43264 45365 49134 30186 44501 62500 40637 50521 ...
    28500 55811 46060 44612 33479 32210 35150 60800 ...
    39500 56922 52345 43925 49472 40427 44166 32500 ...
    38698 26161 37793 62370 31500 39294 30000 56836 ...
    32756 36451 48134 54500 32210 32000 38624 49972 ...
    37159 31500 33378 70500 37954 29500 36378 42772 ...
    39072 85500 43054 50810 41267 51571 35798 46315 ...
    55500 29500 48844 32923 40748 37389 34265 36958 ...
    50576 28500 53836 32000 52403 51898 43508 53900 ...
    37538 32841 42549 60087 30000 44562 46351 48000 ...
    38462 42488 35330 34040 30128 35942 36991 48926 ...
    52214 43672 52262 36958 58974 62742 26500 59749 ...
    45833 43037 57797 32319 59333 41352 50935 35941 ...
    29500 32400 31000 34500 35500 35158 46930 30128 ...
    28570 36313 38624 48500 50583 38464 52000 78500 ...
    35798 35270 42215 37021 46157 40785 31170 47974 ...
    38117 51991 35941 51991 34638 35451 32922 30000 ...
    40436 55000 43160 36300 49687 46155 32500 31276 ...
    45780 59327 36612 66500 46770 31160 42970 49302 ...
    49948 51378 42176 46500 42256 48280 39265 48359 ...
    31000 27700 44715 51064 49756 34550 32210 41178 ...
    43519 40089 59234 47047]';
rank=rank/10;
score=year+rank*7; %单一的工资水平参考分数
a=polyfit(score,salary,1);   
mark=fix(204*rand(20,1)) ;  %取20个1—204之间的随机数
%随机取20组数求最优解
lb=salary(mark)*0.01;  %下界   
ub=salary(mark)*0.03;   %上界
sa=salary(mark);
sc=score(mark);
beq=sum(sa)*0.02;     % 等式约束
aeq=ones(1,20);
dsalary0=sa*0.02;  %初始值
options(13)=1;
[x,fval]=fmincon(@myfun,dsalary0,[],[],aeq,beq,lb,ub,options);
</P>
 楼主| 发表于 2004-5-11 07:49:38 | 显示全部楼层
<>下面的数据少些,谢谢各位了</P><>s=[38002 38462 52214 39259 45500 ...
    30168 34500 33479 38624 47974 ...
    31500 29500 51571 44715 49756]';
r=[3 3 3 2 1 2 2 2 3 4 2 2 4 3 4]';
y=[15 14 32 15 6 4 1 6 14 22 1 2 23 24 22]';
score=y+r*7;
a=[522.76 26021];  %线性函数 f(score)=a(1)*score+a(2)
lb=s*0.01;
ub=s*0.03;
beq=sum(s)*0.02;
Aeq=ones(1,15);
fun=inline('sum((s+x-a(1)*score-a(2)*ones(15,1)).^2)');
x0=a(1)*ones(15,1);
[x,fval]=fmincon(fun,x0,[],[],Aeq,beq,lb,ub);</P>
发表于 2004-5-13 06:52:09 | 显示全部楼层
把你的问题帖出来
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 10:39 , Processed in 0.053345 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表