在Scilab中使用Karmarkar方法

时间:2015-06-26 19:36:10

标签: linear-programming scilab

我是Scilab的新手,我打算用它来做线性编程。我用Google搜索并找到了这段代码:

Aeq = [
2 0 6
0 3 5
];
beq = [8;15;30];
c = [30;50];
[xopt]=karmarkar(Aeq,beq,c);

但似乎karmarkar存在问题。谁能告诉我如何解决我的问题?我尝试使用help karmarkar,因为我认为它可能与Matlab相同,但它不起作用。

1 个答案:

答案 0 :(得分:1)

参数Aeqbeq表示线性相等约束。 Aeq的每一行都有一个等式的系数,beq的相应行是右边的一行。因此,Aeqbeq中的行数必须相同。

此外,c的行数必须等于您拥有的变量数,在本例中为3。

总结:当你有m个约束和n个变量时,矩阵有以下大小:

  • Aeq是m by n
  • beq是1乘
  • c是n乘1

工作示例:

Aeq = [
2 0 6
0 3 5
]
beq = [8;15]
c = [30;50;70]
[xopt]=karmarkar(Aeq,beq,c)