最低成本公式和线性规划 [英] Least Cost Formulations and Linear Programming
问题描述
我需要计算成本最低的配方。这似乎是在线性编程的范围内。其中我一点都不知道。
团队中的任何人都可以给我一个正确的方向......是
有任何工具/图书馆,书籍,网站,等等
TIA,
John
I have a need to compute least cost formulations. This seems to be in
the domain of "linear programming" of which I know practially nothing.
Can anyone in the group give me a point in the right direction...are
there any tools/libraries, books, websites, etc.
TIA,
John
推荐答案
JL <乔** @ marymonte.com>在消息中写道
新闻:a6 ******************************** @ 4ax.com ...
"JL" <jo**@marymonte.com> wrote in message
news:a6********************************@4ax.com...
我需要计算最低成本公式。这似乎是在线性编程领域中。其中我不知道什么。
小组中的任何人都可以给我一个指向正确方向的点......是否有任何工具/图书馆,书籍,网站等。
I have a need to compute least cost formulations. This seems to be in
the domain of "linear programming" of which I know practially nothing.
Can anyone in the group give me a point in the right direction...are
there any tools/libraries, books, websites, etc.
http://mymc10.tripod.com/commonbasic.htm
http://mymc10.tripod .com / somecommon / LINPROG.TXT
(这是旧的标准BASIC代码)。
10 CLS
20打印线性编程
30打印
40 DIM A(6,10),B(6)
50 PRINT
60 PRINT" TYPE''1''用于最大化,或'-1''用于最小化" ;;
70 INPUT Z
80 Z = -Z
90 PRINT约束数量类型,变量数量;
100输入M,N
110 PRINT 少于,等于,较大限制的数量;
120 INPUT L,E,G
130如果M = L + E + G那么160
140 PRINT数据在约束条件上不一致。再试一次。
150 GOTO 110
160 C = N + M + G
170 C1 = C + 1
180 C2 = N + L + G
190 M1 = M + 1
200 M2 = M + 2
210 PRINT
220 FOR I = 1 to M2
230 FOR J = 1 to C1
240 A(I,J)= 0 >
250下一个J
260下一个我
270 FOR I = 1 to M
280 B(I)= 0
290 NEXT I
300 FOR I = 1 to M
310 FOR J = 1 to N
320 READ A(I,J)
330如果我<= L那么350
340 A(M1,J)= A(M1,J)-A(I,J )
350 NEXT J
360如果我> L那么400
370 B(I)= N + I
380 A(I,N + 1)= 1
390 GOTO 460
400 B(I)= N + G + I
410 A(I,J + G + I)= 1
420如果我> L + E那么440
430 GOTO 460
440 A(I,N + IE)= - 1
450 A(M1,N + IE)= 1
460 NEXT I
470 FOR I = 1 to M
480 READ A(I,C1)
490 NEXT I
500 FOR J = 1 to N
510阅读A(M2,J)
5 20 A(M2,J)= Z * A(M2,J)
530下一个J
540 PRINT
550 P1 = 1
560 PRINT你的变量; P1;THROUGH; N
570如果L = 0那么590
580 PRINT" ; SLACK VARIABLES" ;; N + 1;" THROUGH"; N + L
590 IF G = 0 THEN 610
600 PRINT" SURPLUS VARIABLES"; N + L + 1;THROUGH; C
610 IF L = M THEN 790
620 PRINTARTIFICIAL VARIABLES; C2 + 1;THROUGH; C
630 M3 = M1
640 GOSUB 1040
650 PRINT
660 FOR I1 = 1 to M
670如果B(I1)< = C2那么780
680如果A(I1,C1)< =。00001那么710
690 PRINT问题没有可行的解决方案。
700 GOTO 3060
710 FOR J1 = 1 to C2
720 IF ABS (A(I1,J1))< =。00001那么770
730 R = I1
740 S = J1
750 GOSUB 1270
760 J1 = C2
770下一个J1
780下一个I1
790 P1 = 2
800 PRINT
810 M3 = M2
820 GOSUB 1040
830 PRINT
840 PRINTANWWERS:"
850 PRINT" PRIMAL VARIABLES:"
860 PRINT" VARIABLES"," VALUE" >
870 FOR J = 1 to C2
880 FOR I = 1 to M
890 IF B(I)<> J THEN 920
900 PRINT J,A(I,C1)
910 I = M
920 NEXT I
930 NEXT J
940 PRINT" DUAL VARIABLES:"
950 PRINTVARIABLE,VALUE
960 IF L = 0 THEN 1000
970 FOR I = 1 to L
980 PRINT I,-Z * A(M2,N + I)
990 NEXT I
1000 PRINT目标功能的价值; - Z * A(M2,C1)
1010打印
1020 PRINT
1030 GOTO 3060
1040 P = - .00001
1050 FOR J = 1 to C2
1060 IF A(M3 ,J)> = P THEN 1090
1070 S = J
1080 P = A(M3,J)
1090 NEXT J
1100如果P = - 。 00001那么1450
1110 GOSUB 1140
1120 GOSUB 1220
1130 GOTO 1040
1140 Q = 1.E +38
1150 FOR I = 1 to M
1160如果A(I,S)< =。00001那么1200
1170 IF A(I,C1)/ A(I,S)> = Q THEN 1200
1180 R = I
1190 Q = A(I,C1)/ A (我,S)
1200下一页我
1210返回
1220如果Q = 1.E + 38那么1250
1230 GOSUB 1270
1240返回
1250打印然后解决方案无法解决。
1260 GOTO 3060
1270 P = A(R,S)
1280 FOR I = 1 to M2
1290 IF I = R THEN 1360
1300 FOR J = 1 TO C1
1310如果J = S那么1350
1320 A(I,J)= A(I,J)-A(我, S)* A(R,J)/ P
1330如果ABS(A(I,J))> =。00001那么1350
1340 A(我, J)= 0
1350下一个J
1360下一个我
1370对于J = 1到C1
1380 A(R,J)= A(R,J)/ P
1390下一个J
1400 FOR I = 1 to M2
1410 A(I,S)= 0
1420 NE XT I
1430 A(R,S)= 1
1440 B(R)= S
1450返回
3000 DATA 1,1,1,1,1
3010 DATA .9,.8,.95,.7,.3
3020 DATA .05, .05,.02,.3,.7
3030 DATA .05,.15,.03,0,0
3040 DATA 100,83,14,3
3050 DATA 6.13,7.12,5.85,4.57,3.96
3060 END
http://mymc10.tripod.com/commonbasic.htm
http://mymc10.tripod.com/somecommon/LINPROG.TXT
(This is old standard BASIC code).
10 CLS
20 PRINT "LINEAR PROGRAMMING"
30 PRINT
40 DIM A(6,10),B(6)
50 PRINT
60 PRINT "TYPE ''1'' FOR MAXIMIXATION, OR ''-1'' FOR MINIMIZATION";
70 INPUT Z
80 Z=-Z
90 PRINT "TYPE NUMBER OF CONSTRAINTS, NUMBER OF VARIABLES";
100 INPUT M,N
110 PRINT "NUMBER OF LESS THAN, EQUAL, GREATER CONSTRAINTS";
120 INPUT L,E,G
130 IF M=L+E+G THEN 160
140 PRINT "DATA ON CONSTRAINTS INCONSISTENT. TRY AGAIN."
150 GOTO 110
160 C=N+M+G
170 C1=C+1
180 C2=N+L+G
190 M1=M+1
200 M2=M+2
210 PRINT
220 FOR I=1 TO M2
230 FOR J=1 TO C1
240 A(I,J)=0
250 NEXT J
260 NEXT I
270 FOR I=1 TO M
280 B(I)=0
290 NEXT I
300 FOR I=1 TO M
310 FOR J=1 TO N
320 READ A(I,J)
330 IF I<=L THEN 350
340 A(M1,J)=A(M1,J)-A(I,J)
350 NEXT J
360 IF I>L THEN 400
370 B(I)=N+I
380 A(I,N+1)=1
390 GOTO 460
400 B(I)=N+G+I
410 A(I,J+G+I)=1
420 IF I>L+E THEN 440
430 GOTO 460
440 A(I,N+I-E)=-1
450 A(M1,N+I-E)=1
460 NEXT I
470 FOR I=1 TO M
480 READ A(I,C1)
490 NEXT I
500 FOR J=1 TO N
510 READ A(M2,J)
520 A(M2,J)=Z*A(M2,J)
530 NEXT J
540 PRINT
550 P1=1
560 PRINT "YOUR VARIABLES ";P1;"THROUGH";N
570 IF L=0 THEN 590
580 PRINT "SLACK VARIABLES";N+1;"THROUGH";N+L
590 IF G=0 THEN 610
600 PRINT "SURPLUS VARIABLES";N+L+1;"THROUGH";C
610 IF L=M THEN 790
620 PRINT "ARTIFICIAL VARIABLES";C2+1;"THROUGH";C
630 M3=M1
640 GOSUB 1040
650 PRINT
660 FOR I1=1 TO M
670 IF B(I1)<=C2 THEN 780
680 IF A(I1,C1)<=.00001 THEN 710
690 PRINT "THE PROBLEM HAS NO FEASIBLE SOLUTION."
700 GOTO 3060
710 FOR J1=1 TO C2
720 IF ABS(A(I1,J1))<=.00001 THEN 770
730 R=I1
740 S=J1
750 GOSUB 1270
760 J1=C2
770 NEXT J1
780 NEXT I1
790 P1=2
800 PRINT
810 M3=M2
820 GOSUB 1040
830 PRINT
840 PRINT "ANWWERS:"
850 PRINT "PRIMAL VARIABLES:"
860 PRINT "VARIABLES","VALUE"
870 FOR J=1 TO C2
880 FOR I=1 TO M
890 IF B(I)<>J THEN 920
900 PRINT J,A(I,C1)
910 I=M
920 NEXT I
930 NEXT J
940 PRINT "DUAL VARIABLES:"
950 PRINT "VARIABLE","VALUE"
960 IF L=0 THEN 1000
970 FOR I=1 TO L
980 PRINT I,-Z*A(M2,N+I)
990 NEXT I
1000 PRINT "VALUE OF OBJECTIVE FUNCTION";-Z*A(M2,C1)
1010 PRINT
1020 PRINT
1030 GOTO 3060
1040 P=-.00001
1050 FOR J=1 TO C2
1060 IF A(M3,J)>=P THEN 1090
1070 S=J
1080 P=A(M3,J)
1090 NEXT J
1100 IF P=-.00001 THEN 1450
1110 GOSUB 1140
1120 GOSUB 1220
1130 GOTO 1040
1140 Q=1.E+38
1150 FOR I=1 TO M
1160 IF A(I,S)<=.00001 THEN 1200
1170 IF A(I,C1)/A(I,S)>=Q THEN 1200
1180 R=I
1190 Q=A(I,C1)/A(I,S)
1200 NEXT I
1210 RETURN
1220 IF Q=1.E+38 THEN 1250
1230 GOSUB 1270
1240 RETURN
1250 PRINT "THEN SOLUTION IS UNBOUNDED."
1260 GOTO 3060
1270 P=A(R,S)
1280 FOR I=1 TO M2
1290 IF I=R THEN 1360
1300 FOR J=1 TO C1
1310 IF J=S THEN 1350
1320 A(I,J)=A(I,J)-A(I,S)*A(R,J)/P
1330 IF ABS(A(I,J))>=.00001 THEN 1350
1340 A(I,J)=0
1350 NEXT J
1360 NEXT I
1370 FOR J=1 TO C1
1380 A(R,J)=A(R,J)/P
1390 NEXT J
1400 FOR I=1 TO M2
1410 A(I,S)=0
1420 NEXT I
1430 A(R,S)=1
1440 B(R)=S
1450 RETURN
3000 DATA 1,1,1,1,1
3010 DATA .9,.8,.95,.7,.3
3020 DATA .05,.05,.02,.3,.7
3030 DATA .05,.15,.03,0,0
3040 DATA 100,83,14,3
3050 DATA 6.13,7.12,5.85,4.57,3.96
3060 END
JL写道:
我需要计算最低成本公式。这似乎是在线性编程领域中。其中我不知道什么。
小组中的任何人都可以给我一个指向正确方向的点......是否有任何工具/图书馆,书籍,网站等。
I have a need to compute least cost formulations. This seems to be in
the domain of "linear programming" of which I know practially nothing.
Can anyone in the group give me a point in the right direction...are
there any tools/libraries, books, websites, etc.
http://mathworld.wolfram.com/LinearProgramming.html
这也可能有所帮助: -
http://www.aspirin.com/index_en.html
Andrew
http://mathworld.wolfram.com/LinearProgramming.html
This may help, too:-
http://www.aspirin.com/index_en.html
Andrew
感谢Homer和Andrew ...我特别需要Asprin链接LOL。
John
On Tue,2006年2月14日14:40 :38 -0000,Andrew Morton
< ak *@in-press.co.uk.invalid>写道:
Thanks Homer and Andrew...I especially needed the Asprin link LOL.
John
On Tue, 14 Feb 2006 14:40:38 -0000, "Andrew Morton"
<ak*@in-press.co.uk.invalid> wrote:
JL写道:
我需要计算最低成本公式。这似乎是在线性编程领域中。其中我不知道什么。
小组中的任何人都可以给我一个指向正确方向的点......是否有任何工具/图书馆,书籍,网站等。
I have a need to compute least cost formulations. This seems to be in
the domain of "linear programming" of which I know practially nothing.
Can anyone in the group give me a point in the right direction...are
there any tools/libraries, books, websites, etc.
http://mathworld.wolfram.com/LinearProgramming.html
这也可能有所帮助: -
http://www.aspirin.com/index_en.html
Andrew
http://mathworld.wolfram.com/LinearProgramming.html
This may help, too:-
http://www.aspirin.com/index_en.html
Andrew
这篇关于最低成本公式和线性规划的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!