⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opt_fminimax.m

📁 基于灰色系统方法的离散多目标优化设计程序
💻 M
字号:
clear
clc
% FMINMAX 
global f1 f0 fe kg kexample nn kdegree kgnumber nn0 gk hk; 
kg=2; % FMINMAX 
kexample=2;
if kexample==1, %%%%%%%%%%%%%%%%%% the first example(good)%%%%%%%%%%%%%%%%%%%%%%%%
    n=5;gk=6;hk=0;
    ux=[78,33,27,27,27]; us=[102,45,45,45,45];
    flag_x=[0,0,0,0,0];
    dis_date=[0.2,0.25,0.3,0.4,0.5,0.6,0.8,1,1.25,1.5,2,2.5,3,4,5,6,8,10,12,16,20,25,32,40,50];
    float_date=[2,2,2,2,2]; %各连续变量均取2位小数。
 elseif kexample==2    %%%%%%%%%%%%%%%%%%%% the second example (not find)%%%%%%%%%%%%%%%%
   n=6;gk=16;hk=0;
   ux=[10,17,0.2,17,10,13]; us=[20,130,0.8,30,15,20];
   flag_x=[1,1,2,0,1,1];
    dis_date=[0.2,0.25,0.3,0.4,0.5,0.6,0.8,1,1.25,1.5,2,2.5,3,4,5,6,8,10,12,16,20,25,32,40,50];
    float_date=[2,2,2,2,2,2]; %各连续变量均取2位小数。
 elseif kexample==3 
    n=7;gk=10;hk=0;
    ux=[2.6,0.3,17,7.3,7.3,2.9,5]; us=[3.6,1.0,28,8.3,8.3,3.9,5.5];
    flag_x=[0,0,0,0,0,0,0];
    dis_date=[0.2,0.25,0.3,0.4,0.5,0.6,0.8,1,1.25,1.5,2,2.5,3,4,5,6,8,10,12,16,20,25,32,40,50];
    float_date=[2,2,2,2,2,2,2]; %各连续变量均取2位小数。
elseif kexample==4
    n=3;gk=6;hk=0;
    ux=[3,18,4]; us=[7,100,10];
    flag_x=[0,1,1];
    dis_date=[0.2,0.25,0.3,0.4,0.5,0.6,0.8,1,1.25,1.5,2,2.5,3,4,5,6,8,10,12,16,20,25,32,40,50];
    float_date=[2,2,2]; %各连续变量均取2位小数。
else
    n=4;gk=2;hk=0;
    ux=[10,10,0.9,0.9]; us=[80,50,5,5];
    flag_x=[0,0,0,0];
    dis_date=[0.2,0.25,0.3,0.4,0.5,0.6,0.8,1,1.25,1.5,2,2.5,3,4,5,6,8,10,12,16,20,25,32,40,50];
    float_date=[2,2,2,2]; %各连续变量均取2位小数。
 end
%%%%%%%%
   A=[];B=[];Aeq=[];Beq=[];x0=ux+(us-ux)*rand(1);
  [X,F,c,D]=fminimax('objfunction',x0,A,B,Aeq,Beq,ux,us,'restrain');
    disp(['用fminimax优化结果为:X=[',num2str(X),']']);
    disp(['F=[',num2str(F'),']']);
    [Gx,Hx]=restrain(X,gk,hk);
    disp(['约束为:Gx=[',num2str(Gx'),']']);
    disp(['Hx=[',num2str(Hx'),']']);
%%%%%%%%%%%%%%%%%%%%%%%%%%%2007.8.18%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -