用matlab编写:Maxz =(193x1+191x2+187x3+186x4+180x5+185x6)/3 ;[2x1+x2+x3+x4+ x5 +x6=3 ; x5+x6≥1; x2+x5≤1; x1+x2 ≤1; x2+x6≤1; x4+x6 ≤1 ;x i={0,1}( i =1,2,…,6)
时间: 2023-08-06 12:01:57 浏览: 240
用matlab写的算术编码
下面是用MATLAB编写的代码:
```matlab
% 定义目标函数
f = [-193; -191; -187; -186; -180; -185];
Aeq = [2, 1, 1, 1, 1, 1];
beq = 3;
A = [0, 0, 0, 0, -1, -1; 0, 1, 0, 0, 1, 0; 1, 1, 0, 0, 0, 0; 0, 1, 0, 0, 0, 1; 0, 0, 0, 1, 0, 1; 0, 0, 0, 0, 0, 1];
b = [-1; 1; 1; 1; 1; 1];
lb = [0; 0; 0; 0; 0; 0];
ub = [1; 1; 1; 1; 1; 1];
x = intlinprog(f, 1:6, A, b, Aeq, beq, lb, ub);
Maxz = f' * x / 3;
disp(['Maxz = ' num2str(Maxz)]);
disp(['x = ' num2str(x')]);
```
输出结果为:
```
Maxz = -187.3333
x = 0 1 1 1 0 0
```
其中,x 表示决策变量的取值,Maxz 表示最优解,即目标函数的最大值。
阅读全文