杜博遲 臧梓軼 李昞暉 王國星 胡亞航 蔡朝陽
北京衛星制造廠有限公司 北京 100094
環控生保(環境控制和生命保障)分系統的使命是在外太空創造一個適合人類生活和居住的環境,直接保證航天員的安全、健康,同時也保證飛行器平臺上一些功能的實現。該分系統構成分類如表1 所示。

表1 分系統構成分類

圖1 一些軟管產品實物圖
(1)配套需求大。三艙均有配套,每個艙段存在五種研制狀態,每種狀態均需交付100 余件產品,產品研制總量1500 件左右。
(2)設計個異性。主要由接頭、管體、密封圈等構成,由于艙段接口個異性,故接頭設計也存在個異性,一種研制狀態包含80 余種零件,耦合情況復雜。
(3)節點進度緊。管路的研制周期如表2 所示。此外還需對產品材料特性(如毒性)進行試驗,周期很長。
(4)齊套難度高。由表2 可以看出時間占比最長的項目是零件生產,同時密封圈等標準件是外部采購的,受供貨方制約,齊套難度很高。
通過分析可以看出,目前產品存在復雜的耦合情況,在零件庫存不足的情況下,很難通過手動計算提出一種滿足最大交付能力的分配方案。
假設用戶提出一批軟管產品的交付要求,經分析,目前庫存零件不能滿足本批產品交付能力,需要乙方提出一種交付方案使交付產品數量總和最多[1]。

表2 軟管產品研制周期表
需要交付產品的數量定義為W,W=[W1,W2,W3…Wn],n 為產品種類數量,即向量維度。零件實體庫存數量定義為T,T=[T1,T2,T3…Tm],m 為零件種類數量,實際可交付的產品數量為X,在完成一次分配后零件實際消耗數量為Y。產品及零件配套關系如表3 所示。

表3 產品、零件配套表
其中Amn 表示每件產品n 成型需要零件m 的數量。
(1)產品數量為整形自然變量(int8)[0,inf](inf 表示無窮,此處不考慮上限),故Xi ≥0,i=1:n。
(2)由于我們解決的問題是庫存零件不足時產生的分配問題,故Xi ≤Wi,i=1:n。
(3)在完成一次分配后零件使用情況滿足以下條件:

(4)根據用戶需求,假設指定某幾項產品的交付數量,則Xi=constant(i),i 和constant(i)由用戶指定。
本文研究面向用戶的目標函數,實現交付產品數量最多的目標,公式如下:

式中fval 表示目標函數值。
根據模型可以看出,問題可以歸納為線性約束條件下的極值求解,本文利用MATLAB 中的fmincon 算法實現。
fmincon 是用于求解線性&非線性約束條件下多元函數最小值的MATLAB 算法,語法格式如下:
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,Beq,lb,ub)
其中,x 為變量,fval 為目標函數值,exitflag 為循環溢出標志返回值,fun 為目標函數,,x0 為初值,A 為線性不等式約束系數矩陣,b 為線性不等式的約束值,Aeq 為線性等式約束系數矩陣,Beq 為線性等式的約束值,ub、lb 為變量的上、下界向量。

在excel 中加載Excllink,建立與MATLAB 的數據連接,在excel 中進行章節2.1 的數值輸入,將數據傳遞給MATLAB 中的變量單元。通過excel 輸入的優點是:
(1)表格數據庫錄入、修改、維護方便;
(2)空值默認補“0”;
(3)計算結果在excel 中傳輸方便。
本例中參數建立傳輸完畢后,直接利用函數fmincon 進行計算。程序為:
lb=zeros(length(x),1);%建立一個與x 長度相同的(n 維)n行1 列的零矩陣
x0=ones(length(x),1);%建立一個與x 長度相同的(n 維)n行1 列的一矩陣
[x,fval,exitflag]=fmincon(@mysum,x0,A,b,Aeq,Beq,lb,[])
ub 無限制,用[],x0 為初值,為避免無解,不建議從全零矩陣開始,初值選擇的不同,最后計算的結果可能不同,在后面討論。
由于MATLAB 默認為double 浮點型數據,故變量x 的解為浮點型數據,整數解應出現在最優解附近。MATLAB 中變量取整提供三種函數,分別是ceil(x),向正無窮取整;floor(x)向負無窮取整;round(x),四舍五入取整。分析目標函數可以知道,fval 關于x 呈正相關,x 的每一個分量越大,fval 越大,在三種取整方式中,ceil ≥round ≥floor。需要將變量代入約束條件確認溢出情況,如解不合適,需要循環減小變量取值[2]。
以某艙段4 種軟管產品為例,配套情況如表4 所示:
設需交付的產品為CO2解吸軟管2 件,微量解吸軟管2 件,CO2排放軟管3 件,CO2供應軟管3 件,故W=[2,2,3,3]′,實體庫存中每種零件均有25 件,故T=25*ones(10,1),實際可交付的產品數量為x,是一個4 維向量,在完成一次分配后零件實際消耗數量y 是一個10 維向量,用戶指定CO2排放軟管要全部交付,故x(3)=3。根據章節2.2 可列出約束不等式組:

表4 產品配套表

分析x 的值可以看出,產品1、2、4 在1.0833 時函數取得極值,對變量取整,每個小數總存在向左、向右兩種取值方式,在所有的取值情況中ceil(x)>round(x)=floor(x),利用零件消耗量y 判斷是否溢出,可以得到最優解為x=[1,1,3,1]′,選擇不同的初值進行計算,得到的結果完全相同。即CO2解吸軟管可交付1 件,微量解吸軟管可交付1 件,CO2排放軟管可交付3 件,CO2供應軟管可交付1 件,本批可交付軟管產品6 件,為目前最大交付能力,滿足假設條件[3]。
利用MATLAB 中自帶的優化函數fmincon,可以很好地解決多零件耦合方案優化問題,計算準確、快速到位,同時利用excel進行數據庫的管理工作,數據錄入、編輯、維護、采集都十分簡便,效率得到了提升。隨著衛星批量化需求的日益增強,生產線建設也正在面臨著高效性方面的挑戰。根據價值流分析可以看出,零件的齊套性是制約生產線高效運轉的主要爆點,在整個裝配領域都是一大痛點,傳統方法主要依靠“人員調度”,進行資源優先級分配,但當產能拉伸擴大后,人員干預不再能做出最佳方案選擇,本文研究的實質為利用動態線性規劃,目標函數最優方案解算,可以很好地解決這個問題,具有重要的推廣意義。后續主要研究方向為零件加工的復雜性對生產周期、成本、加工成功率的影響,如圖2 所示。目標函數的建立應包含用戶需求、利潤、周期、成本和加工成功率等多個維度,很可能進行非線性約束條件下的極值求解,所以目標函數的編程是一個重要工作。

圖2 產品復雜程度與生產周期、成本、加工成功率關系示意圖