MATLAB 는 LINGO 환경 을 구축 하고 LINDO API 를 호출 하여 선형 계획 등 문 제 를 해결 합 니 다.
2408 단어 공부 하 다.
1, 64 비트 LINDO API 다운로드 주소:http://www.lindo.com/downloads/LAPI-WINDOWS-64x86-9.0.zip
다운로드 후 기본 경 로 를 선택 하여 설치 합 니 다.
2. startup. m 파일 설정
1) MATLAB 설치 디 렉 터 리 아래 toolbox \ local (예 를 들 어 제 경 로 는 D: \ matlab \ toolbox \ \ local) 의 startupsav. m 파일 을 startup. m 로 변경 합 니 다.
2) startup. m 파일 에 load matlab. mat 라 는 말 은 '%' 로 차단 합 니 다.그리고 다음 문장 을 복사 합 니 다.
global MY_LICENSE_FILE
MY_LICENSE_FILE = 'C:\LINDOAPI\LICENSE\lndapi90.lic';
path(path,'C:\LINDOAPI\BIN\WIN64')
path(path,'C:\LINDOAPI\INCLUDE')
path(path,'C:\LINDOAPI\MATLAB');
3) MATLAB 를 시작 하고 명령 프롬프트 아래 'mxlindo' 를 입력 하면 다음 과 같은 정보 가 화면 에 표 시 됩 니 다.
mxLINDO (R) Version 9.0.251Matlab Interface for LINDO API (R) Version 9.0.2528.303, Built Nov 8 2016 13:42:21Barrier Solver Version 7.1.0.053, Nonlinear Solver Version 3.15PPlatform Windows 64x86 (B)Copyright (c) 2001-2014 by LINDO Systems, Inc.
All rights reserved.
Usage: [z1,z2,..,zk] = mxLINDO('LSfuncName',a1,a2,...,an)
2. lindo API 를 호출 하여 선형 계획 문 제 를 해결 합 니 다.
함 수 는: [x, y, s, dj, obj, solstat] = LMsolvm (A, b, c, csense, l, u, vtype, QCrows, QCvars 1, QCvars 2, QCcoef);
입력 매개 변수: A: 제약 조건 의 모든 왼쪽 항목 (매개 변수), 각 제약 은 분점 으로 b: 제약 조건 의 모든 오른쪽 항목 (결과) c: 목표 매개 변수 csense: 제약 유형 (결 성 은 "E") 에 대응 하고, "L" 은 "> =", "G" 는 "< =", "E" 는 "=" l 과 u: 결정 변수 x 의 하계 (결 성 은 0), 상계 (결 성 은 정 무한) 를 나타 낸다.vtype: 의사 결정 변수 x 의 유형 (결 성 은 'C'), 'C' 는 연속 변수 (실수), 'I' 는 일반 정수 변 수 를 나타 내 고 'B' 는 0 - 1 변 수 를 나타 낸다. QCrows: 같은 차원 의 벡터 를 가지 고 n 단계 대칭 방진 Qc, Qi 의 구체 적 인 값 (결 성 은 0) 을 확인한다. '제약 지표' (- 1 은 Qc, i (0 에서 m - 1) 는 Qi 에 대응한다.QCvar 1: 표 시 된 Qi 의 '행' QCvar 2: 표 시 된 Qi 의 '열' QCcoef: 행렬 요 소 를 나타 내 는 구체 적 인 값 출력 매개 변수: x: 최 적 화 된 해석: 쌍 최 적 화 된 해석 (그림자 가격) s: 원래 문제 의 이완 변수 dj: 쌍 문제 의 이완 변수 obj: 최 적 화 된 목표 값 solstat: 프로그램 종료 상태.
예 를 들 어 다음 과 같은 정수 계획 을 구한다.
z=5x1+3x2+x3;
3x1+x2<=10
x1+x2+x3<=5;
2x2+x3<=8;
MATLAB 에서 LINDO 를 호출 하여 정수 계획 코드 는 다음 과 같 습 니 다.
A= [3 1 0; 1 1 1; 0 2 1];
b=[10 5 8];
c=[5 3 1]; csense = 'GGG'; vtype = 'III';
[x,y,s,dj,obj,solstat] = LMsolvem(A, b, c, csense, [], [],vtype);
x
구 해 결 과 는:
x = 2 4 0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 두 수의 최대 공약수 구하 기 (세 가지 방법)자바 두 수의 최대 공약수 구하 기 (세 가지 방법) 1. 역법 전에 저도 몰 랐 습 니 다. 인터넷 에서 찾 아 봤 는데 0 과 0 이 아 닌 수의 약 수 는 모두 이 0 이 아 닌 숫자 입 니 다. 결실 2. 전...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.