一、部分题目
2014高教社杯全国大学生数学建模竞赛题目
C题 生猪养殖场的经营管理
某养猪场最多能养10000头猪,该养猪场利用自己的种猪进行繁育。养猪的一般过程是:母猪配种后怀孕约114天产下乳猪,经过哺乳期后乳猪成为小猪。小猪的一部分将被选为种猪(其中公猪母猪的比例因配种方式而异),长大以后承担养猪场的繁殖任务;有时也会将一部分小猪作为猪苗出售以控制养殖规模;而大部分小猪经阉割后养成肉猪出栏(见图1)。母猪的生育期一般为3~5年,失去生育能力的公猪和母猪将被无害化处理掉。种猪和肉猪每天都要消耗饲料,但种猪的饲料成本更高一些。养殖场根据市场情况通过决定留种数量、配种时间、存栏规模等优化经营策略以提高盈利水平。请收集相关数据,建立数学模型回答以下问题:
请建立数学模型解决以下问题
问题1 假设生猪养殖成本及生猪价格保持不变,且不出售猪苗,小猪全部转为种猪与肉猪,要达到或超过盈亏平衡点,每头母猪每年平均产仔量要达到多少?
问题2 生育期母猪每头年产2胎左右,每胎成活9头左右。求使得该养殖场养殖规模达到饱和时,小猪选为种猪的比例和母猪的存栏数,并结合所收集到的数据给出具体的结果。
问题3 已知从母猪配种到所产的猪仔长成肉猪出栏需要约9个月时间。假设该养猪场估计9个月后三年内生猪价格变化的预测曲线如图2所示,请根据此价格预测确定该养猪场的最佳经营策略,计算这三年内的平均年利润,并给出在此策略下的母猪及肉猪存栏数曲线。
二、部分论文
三、部分源代码
邢唷?? > ? ? R o o t E n t r y *0_氼?或 鲤^ 標?邢 € C o n t e n t s l ???
?R o o t E n t r y *0_氼?或 鲤^ 鹂愉O邢 € C o n t e n t s l ??? ?
?鞁 {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue255;\red0\green0\blue0;}
\viewkind4\uc1\pard\nowidctlpar\qj\cf1\kerning2\f0\fs21 sets\cf2 :
\par bb/1..109/:a,b,c;
\par aa/1..6/:;
\par cc(aa,bb):f,p;
\par
\par \cf1 endsets\cf2
\par \cf1 data\cf2 :
\par a=\cf1 @text\cf2 ('D:\\roujia.txt');
\par b=\cf1 @text\cf2 ('D:\\biandongfeiyong.txt');
\par c=\cf1 @text\cf2 ('D:\\tianshujiange.txt');
\par \pard\cf1\lang2052\kerning0\f1\fs20 enddata\cf2
\par \cf1 max\cf2 =n-q-e-w;
\par n=\cf1 @sum\cf2 (cc(i,j):a(j)*f(i,j)*100*8479)+8479*a(2);
\par q=\cf1 @sum\cf2 (cc(i,j):(c(j)*f(i,j)-c(j)*p(i,j)))*8479*1.5*3+8479*130*1.5*3;
\par e=\cf1 @sum\cf2 (bb(j):1503*(a(j)-7.3371)/2.3888*2.5*10);
\par w=\cf1 @sum\cf2 (cc(i,j):f(i,j)*8479*b(j))+1503*120;
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):c(j)*f(i,j)-c(j)*p(i,j))>=150);
\par \cf1 @for\cf2 (aa(i)|(i#le#5):\cf1 @sum\cf2 (bb(j):f(i+1,j)*c(j)-f(i,j)*c(j))>=150);
\par \cf1 @for\cf2 (aa(i)|(i#le#5):\cf1 @sum\cf2 (bb(j):p(i+1,j)*c(j)-p(i,j)*c(j))>=180);
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):f(i,j))<=1);
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):p(i,j))<=1);
\par \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (f(i,j)));
\par \pard\cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (p(i,j)));
\par }
?鞁 {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue255;\red0\green0\blue0;}
\viewkind4\uc1\pard\nowidctlpar\qj\cf1\kerning2\f0\fs21 sets\cf2 :
\par bb/1..109/:a,b,c;
\par aa/1..6/:;
\par cc(aa,bb):f,p;
\par
\par \cf1 endsets\cf2
\par \cf1 data\cf2 :
\par a=\cf1 @text\cf2 ('D:\\roujia.txt');
\par b=\cf1 @text\cf2 ('D:\\biandongfeiyong.txt');
\par c=\cf1 @text\cf2 ('D:\\tianshujiange.txt');
\par \pard\cf1\lang2052\kerning0\f1\fs20 enddata\cf2
\par \cf1 max\cf2 =n-q-e-w;
\par n=\cf1 @sum\cf2 (cc(i,j):a(j)*f(i,j)*100*8479)+8479*a(2);
\par q=\cf1 @sum\cf2 (cc(i,j):(c(j)*f(i,j)-c(j)*p(i,j)))*8479*1.5*3+8479*130*1.5*3;
\par e=\cf1 @sum\cf2 (bb(j):1503*(a(j)-7.3371)/2.3888*2.5*10);
\par w=\cf1 @sum\cf2 (cc(i,j):f(i,j)*8479*b(j))+1503*120;
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):c(j)*f(i,j)-c(j)*p(i,j))>=150);
\par \cf1 @for\cf2 (aa(i)|(i#le#5):\cf1 @sum\cf2 (bb(j):f(i+1,j)*c(j)-f(i,j)*c(j))>=180);
\par \cf1 @for\cf2 (aa(i)|(i#le#5):\cf1 @sum\cf2 (bb(j):p(i+1,j)*c(j)-p(i,j)*c(j))>=180);
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):f(i,j))<=1);
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):p(i,j))<=1);
\par \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (f(i,j)));
\par \pard\cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (p(i,j)));
\par }
邢唷?? > ? ? ??R o o t E n t r y ? R o o t E n t r y *0_氼?或 鲤^ P"彚蜗 ? C o n t e n t s ? ???? ?鞁 {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue255;\red0\green0\blue0;}
\viewkind4\uc1\pard\cf1\lang2052\f0\fs20 max\cf2 =x+y+z;
\par x+y+z<=10000;
\par y*18=z;
\par x/y>=1/24;
\par x/y<=1/12;
\par \cf1 @gin\cf2 (x);
\par \pard\cf1 @gin\cf2 (y);
\par \cf1 @gin\cf2 (z);
\par \pard
\par }
邢唷?? > ? ? R o o t E n t r y *0_氼?或 鲤^ 悇蹋p舷 ? C o n t e n t s ? ????
R o o t E n t r y *0_氼?或 鲤^ U舷 ? C o n t e n t s ? ???
?
! " ?鞁 {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue255;\red0\green0\blue0;}
\viewkind4\uc1\pard\nowidctlpar\qj\cf1\kerning2\f0\fs21 sets\cf2 :
\par aa/1..36/:a,b,c,d,f;
\par \cf1 endsets\cf2
\par \cf1 data\cf2 :
\par a=19.42 19.08 19.33 19.33 17.83 16.75 17.25 17.25 15.92 14.75 14.17 13.58 13.75 13.83 14.50 14.58 14.42 16.00 17.25 15.75 13.75 12.33 12.50 14.25
! " ?i+4));
\par \cf1 @for\cf2 (aa(i)|(i#le#31):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+5))=f(i+5));
\par \pard\cf1 @for\cf2 (aa(i):\cf1 @bin\cf2 (f(i)));
\par
\par
\par }
2268 2268 2268 2268 2268 2268 2268 2268 2268 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 \'a3\'bb
\par \lang2052\kerning0\fs20 c=\lang1033\kerning2\fs21 1038 1038 1038 1038 1038 1038 1038 鞁 {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue255;\red0\green0\blue0;}
\viewkind4\uc1\pard\nowidctlpar\qj\cf1\kerning2\f0\fs21 sets\cf2 :
\par aa/1..36/:a,b,c,d,f;
\par \cf1 endsets\cf2
\par \cf1 data\cf2 :
\par a=19.42 19.08 19.33 19.33 17.83 16.75 17.25 17.25 15.92 14.75 14.17 13.58 13.75 13.83 14.50 14.58 14.42 16.00 17.25 15.75 13.75 12.33 12.50 14.25 14.58 15.83 15.83 15.58 15.75 15.58 13.42 12.42 11.17 10.75 13.75 13.42;
\par b=2268 2268 2268 2268 2268 2268 2268 2268 2268 2268 2268 2268 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024;
\par \lang2052\kerning0\fs20 c=\lang1033\kerning2\fs21 1038 1038 1038 1038 1038 1038 1038 1038 1038 1038 1038 1038 1210 1210 1210 1210 1210 1210 1210 1210 1210 1210 1210 1210 1382 1382 1382 1382 1382 1382 1382 1382 1382 1382 1382 1382;
\par d=60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 63 63 63 63 63 63 63 63 63 63 63 63 61 61 61 61 61 61 61 61 61 61 61 61;\lang2052\kerning0\f1\fs20
\par \pard\cf1 enddata\cf2
\par \cf1 max\cf2 =\cf1 @sum\cf2 (aa(i):a(i)*f( 14.58 15.83 15.83 15.58 15.75 15.58 13.42 12.42 11.17 10.75 13.75 13.42;
\par b=2268 2268 2268 2268 2268 2268 2268 2268 2268 2268 2268 2268 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024;
\par \lang2052\kerning0\fs20 c=\lang1033\kerning2\fs21 1038 1038 1038 1038 1038 1038 1038 1038 1038 1038 1038 1038 1210 1210 1210 1210 1210 1210 1210 1210 1210 1210 1210 1210 1382 1382 1382 1382 1382 1382 1382 1382 1382 1382 1382 1382;
\par d=60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 60.5 63 63 63 63 63 63 63 63 63 63 63 63 61 61 61 61 61 61 61 61 61 61 61 61;\lang2052\kerning0\f1\fs20
\par \pard\cf1 enddata\cf2
\par \cf1 max\cf2 =\cf1 @sum\cf2 (aa(i):a(i)*f(i)*100*\cf1 @sum\cf2 (aa(i):f(i)*4603))-\cf1 @sum\cf2 (aa(i):b(i)*783*3+c(i)*\cf1 @sum\cf2 (aa(i):f(i)*4603)+d(i)*(598+3+598*9*\cf1 @sum\cf2 (aa(i):f(i))));
\par \cf1 @sum\cf2 (aa(i):f(i))<=6;
\par \cf1 @for\cf2 (aa(i)|(i#le#35):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+1))=f(i+1));
\par \pard\cf1 @for\cf2 (aa(i)|(i#le#34):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+2))=f(i+2));
\par \cf1 @for\cf2 (aa(i)|(i#le#33):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+3))=f(i+3));
\par \cf1 @for\cf2 (aa(i)|(i#le#32):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+4))=f(i)*100*\cf1 @sum\cf2 (aa(i):f(i)*4603))-\cf1 @sum\cf2 (aa(i):b(i)*783*3+c(i)*\cf1 @sum\cf2 (aa(i):f(i)*4603)+d(i)*(598+3+598*9*\cf1 @sum\cf2 (aa(i):f(i))));
\par \cf1 @sum\cf2 (aa(i):f(i))<=6;
\par \cf1 @for\cf2 (aa(i)|(i#le#35):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+1))=f(i+1));
\par \pard\cf1 @for\cf2 (aa(i)|(i#le#34):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+2))=f(i+2));
\par \cf1 @for\cf2 (aa(i)|(i#le#33):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+3))=f(i+3));
\par \cf1 @for\cf2 (aa(i)|(i#le#32):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+4))=f(i+4));
\par \cf1 @for\cf2 (aa(i)|(i#le#31):\cf1 @if\cf2 (f(i)#eq#1,0,f(i+5))=f(i+5));
\par \pard\cf1 @for\cf2 (aa(i):\cf1 @bin\cf2 (f(i)));
\par
\par
\par }
2268 2268 2268 2268 2268 2268 2268 2268 2268 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 2646 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 3024 \'a3\'bb
\par \lang2052\kerning0\fs20 c=\lang1033\kerning2\fs21 1038 1038 1038 1038 1038 1038 1038
邢唷?? > ? ? R o o t E n t r y *0_氼?或 鲤^ 悈牞<邢 € C o n t e n t s n ???
?R o o t E n t r y *0_氼?或 鲤^ Pd鉕邢 C o n t e n t s ? ??? ?
?鞁 {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue255;\red0\green0\blue0;\red0\green175\blue0;}
\viewkind4\uc1\pard\nowidctlpar\qj\cf1\kerning2\f0\fs21 sets\cf2 :
\par bb/1..109/:a,b,c;
\par aa/1..6/:;
\par cc(aa,bb):f,p;
\par
\par \cf1 endsets\cf2
\par \cf1 data\cf2 :
\par a=\cf1 @text\cf2 ('D:\\roujia.txt');
\par b=\cf1 @text\cf2 ('D:\\biandongfeiyong.txt');
\par c=\cf1 @text\cf2 ('D:\\tianshujiange.txt');
\par \pard\cf1\lang2052\kerning0\f1\fs20 enddata\cf2
\par \cf1 max\cf2 =n-q-e-w;
\par n=\cf1 @sum\cf2 (cc(i,j):a(j)*f(i,j)*100*8543)+8543*a(2);
\par q=\cf1 @sum\cf2 (cc(i,j):(c(j)*f(i,j)-c(j)*p(i,j)))*8543*1.5*3+8543*130*1.5*3;
\par e=\cf1 @sum\cf2 (bb(j):1452*(a(j)-7.3371)/2.3888*2.5*10);
\par w=\cf1 @sum\cf2 (cc(i,j):f(i,j)*8543*b(j))+1452*120;
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):c(j)*f(i,j)-c(j)*p(i,j))>=150);
\par \cf1 @for\cf2 (aa(i)|(i#le#5):\cf1 @sum\cf2 (bb(j):f(i+1,j)*c(j)-f(i,j)*c(j))>=150);
\par \cf3 !@for(aa(i)|(i#le#5):@sum(bb(j):f(i+1,j)*c(j)-f(i,j)*c(j))<=180);\cf2
\par \cf1 @for\cf2 (aa(i)|(i#le#5):\cf1 @sum\cf2 (bb(j):p(i+1,j)*c(j)-p(i,j)*c(j))>=180);
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):f(i,j))<=1);
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):p(i,j))<=1);
\par \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (f(i,j)));
\par \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (p(i,j)));
\par
\par }
ar \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (p(
?鞁 {\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue255;\red0\green0\blue0;}
\viewkind4\uc1\pard\nowidctlpar\qj\cf1\kerning2\f0\fs21 sets\cf2 :
\par bb/1..109/:a,b,c;
\par aa/1..6/:;
\par cc(aa,bb):f,p;
\par
\par \cf1 endsets\cf2
\par \cf1 data\cf2 :
\par a=\cf1 @text\cf2 ('D:\\roujia.txt');
\par b=\cf1 @text\cf2 ('D:\\biandongfeiyong.txt');
\par c=\cf1 @text\cf2 ('D:\\tianshujiange.txt');
\par \pard\cf1\lang2052\kerning0\f1\fs20 enddata\cf2
\par \cf1 max\cf2 =n-q-e-w;
\par n=\cf1 @sum\cf2 (cc(i,j):a(j)*f(i,j)*100*8543)+8543*a(2);
\par q=\cf1 @sum\cf2 (cc(i,j):(c(j)*f(i,j)-c(j)*p(i,j)))*8543*1.5*3+8543*130*1.5*3;
\par e=\cf1 @sum\cf2 (bb(j):1452*(a(j)-7.3371)/2.3888*2.5*10);
\par w=\cf1 @sum\cf2 (cc(i,j):f(i,j)*8543*b(j))+1452*120;
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):c(j)*f(i,j)-c(j)*p(i,j))>=150);
\par \cf1 @for\cf2 (aa(i)|(i#le#5):\cf1 @sum\cf2 (bb(j):f(i+1,j)*c(j)-f(i,j)*c(j))>=180);
\par \cf1 @for\cf2 (aa(i)|(i#le#5):\cf1 @sum\cf2 (bb(j):p(i+1,j)*c(j)-p(i,j)*c(j))>=180);
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):f(i,j))<=1);
\par \cf1 @for\cf2 (aa(i):\cf1 @sum\cf2 (bb(j):p(i,j))<=1);
\par \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (f(i,j)));
\par \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (p(i,j)));
\par
\par }
f1 @sum\cf2 (bb(j):p(i,j))<=1);
\par
\par \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (f(i,j)));
\par
\par \cf1 @for\cf2 (cc(i,j):\cf1 @bin\cf2 (p(i,j)));
\par
\par }
i,j)));
\par
\par }