min x
subject to: zeta_1>=b
zeta_2>=h
t*log(1+m_b*zeta_1)>=t_bh
(1-t)*log(1+t*m_h*zeta_2)>=t_hb
0<=t<=1
||y||=1,
where zeta_1=(|transpose(a)*y|^2)*x, zeta_2= (|transpose(c)*y|^2)*x. m_b and m_h are parameters. a,c and y are taken from complex numbers and are having dimension N*1. b,h,t_bh and t_hb are constants.
Я использовал следующую симуляцию.
tic
clc
clear all
close all
%% initialization
N=5;
alpha=0.5;
eta=0.6;
sigma_B=10^-8;
sigma_H=10^-8;
b=0.00001;
h=0.00001;
h_AB=[];
h_AH=[];
h_BH=[];
transpose_a=[];
transpose_c=[];
m_B=[];
m_H=[];
tau=0:0.00001:1;
t_HB =10;
t_BH=10;
beta=3;
row=1;
k=[];
y=rand(N,1)+i*rand(N,1);
%% variation in distance
for i=3:0.1:7
bcd=[5 1];
ap=[0 0];
httd=[i -1];
dist_AB(row)= norm(bcd-ap);
dist_AH(row)= norm(httd-ap);
dist_BH(row)= norm(httd-bcd);
h_AB=raylrnd(dist_AB(row).^(-beta/2),N,200000);
transpose_a(row,:)=mean(h_AB,2);
%h_AB1 = cat(3,h_AB1,h_AB);
h_AH=raylrnd(dist_AH(row).^(-beta/2),N,200000);
%h_AH1 = cat(3,h_AH1,h_AH);
transpose_c(row,:)=mean(h_AH,2);
h_BH(row,:)=raylrnd(dist_BH(row).^(-beta/2),1,200000).^2;
row=row+1;
end
z=mean(h_BH,2);
m_B=(alpha.*z)/sigma_H;
m_H=(eta.*z)/sigma_B;
Все значения параметров рассчитываются отсюда. Я набрал 41 очко для a и c. Я хочу найти минимальные значения x для каждой точки и построить ее с расстоянием. Как действовать отсюда? Как использовать fmincon
после этого. Я также провел некоторый математический анализ фактической проблемы оптимизации и сделал одну нижнюю границу этого. Результатом моделирования нижней границы является выпуклая функция. Я также приложил изображение