无耐对FORTTRAN一点不了解,谁能帮忙改成JAVA的,谢谢了。
PROGRAM LISTING
10 PRINT "LINEAR PROGRAMMING"
15 PRINT
19 REM-LINEAR PROGRAMMING ,SIMPLEX METHOD
20 DIM A(6,10), B(6)
30 PRINT
40 PRINT "TYPE '1' FOR MAXIMIZATION,OR '-1' FOR MINIMIZATION";
50 INPUT Z
60 Z=-Z
70 PRINT "TYPE NUMBER OF INSTRAINTS,NUMBER OF VARIABLES";
80 INPUT M,N
90 PRINT "NUMBER OF LESS THAN,EQUAL,GREATER CONSTAINTS“;
100 INPUT L,E,G
110 IF M=L+E+G THEN 140
120 PRINT ” DATA ON CONSTRAINTS INCONSISTENT,TAY AGAIN。“
130 GOTO 90
139 REM- THIS IS THE INITIALIZATION ROUTINE
140 C=N+M+G
150 C1=C+1
160 C2=N+L+G
170 M1=M+1
180 M2=M+2
190 PRINT
200 FOR I=1 TO M2
210 FOR J=1 TO C1
220 A(I,J)=0
230 NEXT J
240 NEXT I
250 FOR I=1 TO M
260 B(I)=0
270 NEXT I
280 FOR I=1 TO M
290 FOR J=1 TO N
300 READ A(I,J)
310 IF I<=L THEN 330
320 A(M1,J)=A(M1,J)-A(I,J)
330 NEXT J
340 IF I>L THEN 380
350 B(I)=N+I
360 A(I,N+1)=1
370 GOTO 440
380 B(I)=N+G+I
390 A(I,N+G+I)=1
400 IF I>L+E THEN 420
410 GOTO 440
420 A(I,N+I-E)=-1
430 A(M1,N+I-E)=1
440 NEXT I
450 FOR I= 1 TO M
460 READ A(I,C1)
470 NEXT I
480 FOR J=1 TO N
490 READ A(M2,J)
500 A(M2,J)=Z*A(M2,J)
510 NEXT J
520 PRINT
540 PRINT "YOUR VARIABLES 1 THROUGH "; N
550 IF L=0 THEN 570
560 PRINT "SLACK VARIABLES"; N+1 ; "THROUGH";N+L
570 IF G=0 THEN 590;
580 PRINT "SURPLUS VARIABLES"; N+L+1; "THROUGH";C
590 IF L=M THEN 780
600 PRINT "ARTIFICIAL VARIABLES";C2+1; "THROUGH";C
610 M3=M1
620 GOSUB 1040
630 PRINT
640 FOR I1=1 TO M
650 IF B(I1)<=C2 THEN 760
660 IF A(I1,C1)<=.00001 THEN 690
670 PRINT "THE PROBLEM HAS NO FEASIBLE SOLUTION"
680 GOTO 3060
690 FOR J1=1 TO C2
700 IF ABS(A(I1,J1))<=.00001 THEN 750
710 R=I1
720 S=J1
730 GOSUB 1260
740 J1=C2
750 NEXT J1
760 NEXT I1
780 PRINT
790 M3=M2
800 GOSUB 1040
830 PRINT
840 PRINT "ANSWERS:"
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 "VARIABLES","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 PIRNT "VALUE OF OBJECTIVE FUNCTION";-Z*A(M2,N+I)
1010 PRINT
1020 PRINT
1030 GOTO 3060
1038 REM - OPTIMIZATION ROUTINE
1038 REM - FIRST PRICE OUT COLUMNS
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 1440
1110 GOSUB 1130
1120 GOSUB 1210
1130 Q=1.E+38
1140 FOR I=1 TO M
1150 IF A(I,S)<=.00001 THEN 1190
1160 IF A(I,C1)/A(I,S)>=Q TEHN 1190
1170 R=I
1180 P=A(M3,J)
1190 NEXT J
1200 RETURN
1210 IF Q=1.E+38 THEN 1240
1220 GOSUB 1260
1230 RETURN
1240 PRINT "THE SOLUTION IS UNBOUNDED."
1250 GOTO 3060
1259 REM - PERFORM PIVOTING
1260 P=A(R,S)
1270 FOR I=1 TO M2
1280 IF I=R THEN 1350
1290 FOR J=1 TO C1
1300 IF J=S THEN 1340
1310 A(I,J)=A(I,J)-A(I,S)*A(R,J)/P
1320 IF ABS(A(I,J))>=.00001 THEN 1340
1330 A(I,J)=0
1340 NEXT J
1350 NEXT I
1360 FOR J=1 TO C1
1370 A(R,J)=A(R,J)/P
1380 NEXT J
1390 FOR I=1 TO M2
1400 A(I,S)=0
1410 NEXT I
1420 A(R,S)=1
1430 B(R)=S
1440 RETURN
2996 REM - *** DO THE FOLLOWING STEPS BEFORE RUNNING THE PROGRAM ***
2997 REM - TYPE IN COEFFICIENTS OF '<','=',AND '>'CONSTRAINTS IN DATA
STATMENTS STARTING AT LINE 3000,A SEPARATE DATA STATMNET FOR EACH
CONSTRAINT(LINE 3000-LINE 3030 IN OUR EXAMPLE)
2998 REM - TYPE IN CONSTRAINT OF THE CONSTRAINTS IN A DATA STATEMENT
FOLLOWING THE COEFFICIENT DATA,AND IN THE SAME ORDER AS THE CONSTRAINT
DATA WERE ENTERED (LINE 3040 IN OUR EXAMPLE)
2999 REM - TYPE IN COEFFICIENTS OF THE OBJECTIVE FUNCTION IN A DATA STATEMENT
(LINE 3050 IN OUR EXAMPLE)FOLLOWING THE CONSTANTS DATA.
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
PROGRAM LISTING
10 PRINT "LINEAR PROGRAMMING"
15 PRINT
19 REM-LINEAR PROGRAMMING ,SIMPLEX METHOD
20 DIM A(6,10), B(6)
30 PRINT
40 PRINT "TYPE '1' FOR MAXIMIZATION,OR '-1' FOR MINIMIZATION";
50 INPUT Z
60 Z=-Z
70 PRINT "TYPE NUMBER OF INSTRAINTS,NUMBER OF VARIABLES";
80 INPUT M,N
90 PRINT "NUMBER OF LESS THAN,EQUAL,GREATER CONSTAINTS“;
100 INPUT L,E,G
110 IF M=L+E+G THEN 140
120 PRINT ” DATA ON CONSTRAINTS INCONSISTENT,TAY AGAIN。“
130 GOTO 90
139 REM- THIS IS THE INITIALIZATION ROUTINE
140 C=N+M+G
150 C1=C+1
160 C2=N+L+G
170 M1=M+1
180 M2=M+2
190 PRINT
200 FOR I=1 TO M2
210 FOR J=1 TO C1
220 A(I,J)=0
230 NEXT J
240 NEXT I
250 FOR I=1 TO M
260 B(I)=0
270 NEXT I
280 FOR I=1 TO M
290 FOR J=1 TO N
300 READ A(I,J)
310 IF I<=L THEN 330
320 A(M1,J)=A(M1,J)-A(I,J)
330 NEXT J
340 IF I>L THEN 380
350 B(I)=N+I
360 A(I,N+1)=1
370 GOTO 440
380 B(I)=N+G+I
390 A(I,N+G+I)=1
400 IF I>L+E THEN 420
410 GOTO 440
420 A(I,N+I-E)=-1
430 A(M1,N+I-E)=1
440 NEXT I
450 FOR I= 1 TO M
460 READ A(I,C1)
470 NEXT I
480 FOR J=1 TO N
490 READ A(M2,J)
500 A(M2,J)=Z*A(M2,J)
510 NEXT J
520 PRINT
540 PRINT "YOUR VARIABLES 1 THROUGH "; N
550 IF L=0 THEN 570
560 PRINT "SLACK VARIABLES"; N+1 ; "THROUGH";N+L
570 IF G=0 THEN 590;
580 PRINT "SURPLUS VARIABLES"; N+L+1; "THROUGH";C
590 IF L=M THEN 780
600 PRINT "ARTIFICIAL VARIABLES";C2+1; "THROUGH";C
610 M3=M1
620 GOSUB 1040
630 PRINT
640 FOR I1=1 TO M
650 IF B(I1)<=C2 THEN 760
660 IF A(I1,C1)<=.00001 THEN 690
670 PRINT "THE PROBLEM HAS NO FEASIBLE SOLUTION"
680 GOTO 3060
690 FOR J1=1 TO C2
700 IF ABS(A(I1,J1))<=.00001 THEN 750
710 R=I1
720 S=J1
730 GOSUB 1260
740 J1=C2
750 NEXT J1
760 NEXT I1
780 PRINT
790 M3=M2
800 GOSUB 1040
830 PRINT
840 PRINT "ANSWERS:"
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 "VARIABLES","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 PIRNT "VALUE OF OBJECTIVE FUNCTION";-Z*A(M2,N+I)
1010 PRINT
1020 PRINT
1030 GOTO 3060
1038 REM - OPTIMIZATION ROUTINE
1038 REM - FIRST PRICE OUT COLUMNS
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 1440
1110 GOSUB 1130
1120 GOSUB 1210
1130 Q=1.E+38
1140 FOR I=1 TO M
1150 IF A(I,S)<=.00001 THEN 1190
1160 IF A(I,C1)/A(I,S)>=Q TEHN 1190
1170 R=I
1180 P=A(M3,J)
1190 NEXT J
1200 RETURN
1210 IF Q=1.E+38 THEN 1240
1220 GOSUB 1260
1230 RETURN
1240 PRINT "THE SOLUTION IS UNBOUNDED."
1250 GOTO 3060
1259 REM - PERFORM PIVOTING
1260 P=A(R,S)
1270 FOR I=1 TO M2
1280 IF I=R THEN 1350
1290 FOR J=1 TO C1
1300 IF J=S THEN 1340
1310 A(I,J)=A(I,J)-A(I,S)*A(R,J)/P
1320 IF ABS(A(I,J))>=.00001 THEN 1340
1330 A(I,J)=0
1340 NEXT J
1350 NEXT I
1360 FOR J=1 TO C1
1370 A(R,J)=A(R,J)/P
1380 NEXT J
1390 FOR I=1 TO M2
1400 A(I,S)=0
1410 NEXT I
1420 A(R,S)=1
1430 B(R)=S
1440 RETURN
2996 REM - *** DO THE FOLLOWING STEPS BEFORE RUNNING THE PROGRAM ***
2997 REM - TYPE IN COEFFICIENTS OF '<','=',AND '>'CONSTRAINTS IN DATA
STATMENTS STARTING AT LINE 3000,A SEPARATE DATA STATMNET FOR EACH
CONSTRAINT(LINE 3000-LINE 3030 IN OUR EXAMPLE)
2998 REM - TYPE IN CONSTRAINT OF THE CONSTRAINTS IN A DATA STATEMENT
FOLLOWING THE COEFFICIENT DATA,AND IN THE SAME ORDER AS THE CONSTRAINT
DATA WERE ENTERED (LINE 3040 IN OUR EXAMPLE)
2999 REM - TYPE IN COEFFICIENTS OF THE OBJECTIVE FUNCTION IN A DATA STATEMENT
(LINE 3050 IN OUR EXAMPLE)FOLLOWING THE CONSTANTS DATA.
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
解决方案 »
- 怎样实现这个小小的动画效果?打字小游戏中要用到的
- 把十进制数转换成字符串出现乱码??
- java如何调用dll
- jtree的cellrender问题
- java基础+jsp能做出象样的软件或网站来了么?
- java socket Proxy.NO_PROXY问题
- Class.forName
- BigDecimal类型的数之间能进行算术运算吗?如果能,怎么不行?如果不能那怎么运算?转为什么类型计算呢?
- javaSE问题。。你的基础有多好!!简单问题。。
- applet不能用appletviewer运行,(jbuilder7下),为什么??小虫大呼救命!!!
- 关于this的用法和作用
- String.trim的方法是个大BUG???
kan wan le jiu yao hua hao chang shi jian le