gpt4 book ai didi

MATLAB:特定线性程序的快速且内存高效的解决方案

转载 作者:行者123 更新时间:2023-12-04 04:44:49 26 4
gpt4 key购买 nike

我有一点编程经验,所以我很确定我没有以最佳方式对问题进行编码,所以我很乐意听到任何提示。

我有两个参数:问题的维度n和一个 N x N约束矩阵B哪里N = 2n .就我而言 B是对称的并且只有正值。我需要解决以下问题

Optimization problem

也就是说,我需要最大化受 B(i,j) 给出的成对距离约束的距离的某个平均值。 .

我现在这样做的方式是实现 linprog(-f,A,b)哪里

f = ones([1,n])/n;
f = [f -f]


b = reshape(B',numel(B),[])

A定义如下
 A = zeros([N^2,N]);
for i = 1:N
for j = 1:N
if i ~= j
A((i-1)*N + j,i) = 1;
A((i-1)*N + j,j) = -1;
end
end
end

然而,当 n = 500甚至一个简单的结构 A需要相当长的时间,更不用说线性规划的解决方案需要多长时间。任何提示都非常感谢,请随时重新标记。

最佳答案

首先,尝试构建A像这样:

AI = eye(N);
AV = ones(N, 1);
A = kron(AI, AV) - kron(AV, AI);

我认为它的运行速度应该至少比您创建它的方式快一个数量级。

关于MATLAB:特定线性程序的快速且内存高效的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18361276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com