zoukankan      html  css  js  c++  java
  • 数模常用算法系列Matlab实现-----线性规划

    线性规划的 Matlab 标准形式

    线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性 规划的标准形式为

    [minC^TX \ x \ Ax <= b\ Aeqx=beq\ lb<=x<=ub\ ]

    其中 cxn 维列向量, AAeq 为适当维数的矩阵,bbeq 为适当维数的列向****量**。 例如线性规划

    [maxC^Tx quad s.t. quad Ax>=b \ 的Matlab标准型为\ min-C^Tx quad s.t. -Ax <= -b ]

    基本函数形式为 linprog(c,A,b),它的返回值是向量 x 的值。还有其它的一些函数调用形式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如:

    [x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS) 这里 fval 返回目标函数的值,LB 和 UB 分别是变量 X的下界和上界,x0是x的初始值,OPTIONS 是控制参数。

    例题:

    [maxquad z = 2x_1+3x_2-5x_3 \ x_1+x_2+x_3=7\ 2x_1-5x_2+x_3>=10\ x1+3x_2+x_3<=12\ x1,x2,x3>=0 ]

    解:

    	c=[2;3;-5];
    	a=[-2,5,-1;1,3,1];b=[-10;12];
    	aeq=[1,1,1];
    	beq=7;
    	x=linprog(-c,a,b,aeq,beq,zeros(3,1))
    	value = c'*x;
    

    第一个数模相关算法,每天更新一个,(ง •_•)ง!!!

  • 相关阅读:
    windows中dos命令指南
    HDU 2084 数塔 (dp)
    HDU 1176 免费馅饼 (dp)
    HDU 1004 Let the Balloon Rise (map)
    变态杀人狂 (数学)
    HDU 2717 Catch That Cow (深搜)
    HDU 1234 开门人和关门人 (模拟)
    HDU 1070 Milk (模拟)
    HDU 1175 连连看 (深搜+剪枝)
    HDU 1159 Common Subsequence (dp)
  • 原文地址:https://www.cnblogs.com/backkom-buaa/p/11489230.html
Copyright © 2011-2022 走看看