Каково решение следующей задачи оптимизации с линейными и нелинейными ограничениями? - PullRequest
1 голос
/ 15 апреля 2020
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 после этого. Я также провел некоторый математический анализ фактической проблемы оптимизации и сделал одну нижнюю границу этого. Результатом моделирования нижней границы является выпуклая функция. Я также приложил изображение Simulation of lower bound of optimization

...