我想解决一个非线性规划问题。目标函数是非线性的,约束是线性的。给定向量α(dim is n*1),我想找到另一个向量θ( dim also is n*1) make (α,θ)最小化。同时,θ也有一定的局限性。约束是A.dot(θ) < 0(零是列向量),dim是m*n,m < n。
问题是,Given α(dim is n*1),A dim是m*n,m < n
minimize cos(α, θ) = α^T.dot(θ) /(|α||θ|)
subject to
A.dot(θ) < 0 (zero dim m*1)
我尝试使用scip
我试图让自己成为一个小脚本或一些东西,可以帮助我找到达到目标值所需的最低数量的组合。但我很难找到这样的方法,因为我所能找到的只是类似的问题,但只有一个和,而不是一组数字。
考虑一下这张表:
| X | Y | Z
A | 4 4
B | 5 5
C | 4 4
D | 3 3 3
A,B,C,D是不同的集,产生不同数量的X,Y,Z。
现在假设我们的目标是40X,80Y,60Z。
通过人工试验和错误,我可以找到的最低组合集合是21,并且有多个变体达到这个目标。
例如: 0A,9B,7C,5D = 43X,88Y,60Z,还有1A,8B,6C,6D
我在MATLAB中遇到了一些很奇怪的事情,我搞不懂。
我有一个物体的两组坐标,我想找出欧拉角。建立了旋转矩阵R和符号万向角矩阵R_cardan来求解角。对于第一组,我可以简单地执行solve(R==R_cardan),但是当我使用第二组时,它就不能工作了。返回的解决方案为空。
是什么导致了这一切?这是测试代码。
clc;clear;close all;
%% For some reason R2 does not want to give a solution
% Find rotation matrix to transform from origin to local reference