@iota-big3/layer-1-operations
Version:
Layer 1 Operations conventions for School OS - Meal planning, inventory, maintenance, and resource optimization patterns
242 lines • 6.38 kB
TypeScript
import type { StaffConstraints } from './maintenance-conventions';
export interface Resource {
id: string;
type: 'budget' | 'space' | 'equipment' | 'human' | 'consumable';
name: string;
totalCapacity: number;
currentUsage: number;
unit: string;
cost?: number;
constraints?: ResourceConstraint[];
}
export interface ResourceConstraint {
type: 'time' | 'dependency' | 'regulatory' | 'capacity';
description: string;
impact: 'hard' | 'soft';
}
export interface ResourceAllocation {
resourceId: string;
allocatedTo: string;
amount: number;
startDate: Date;
endDate?: Date;
priority: number;
justification: string;
}
export interface OptimizationResult {
allocations: ResourceAllocation[];
efficiency: number;
costSavings: number;
utilizationRate: number;
philosophyImpact: {
budgetRedirected: number;
teacherResourcesImproved: number;
studentBenefit: number;
};
}
export declare namespace ResourceOptimization {
/**
* Optimize budget allocation across departments
* Redirects savings to educational initiatives
*/
function optimizeBudgetAllocation(budget: BudgetResource[], requests: BudgetRequest[], historicalData: SpendingHistory[]): BudgetOptimization;
/**
* Optimize space utilization across campus
* Maximizes educational space availability
*/
function optimizeSpaceUtilization(spaces: Space[], schedule: ScheduleItem[], requirements: SpaceRequirement[]): SpaceOptimization;
/**
* Optimize human resource allocation
* Focuses on maximizing teacher time for education
*/
function optimizeStaffAllocation(staff: StaffMember[], tasks: Task[], _constraints: StaffConstraints): StaffOptimization;
/**
* Multi-resource optimization for complex scenarios
*/
function optimizeMultipleResources(resources: Resource[], constraints: MultiResourceConstraint[], objectives: OptimizationObjective[]): MultiResourceOptimization;
}
export interface BudgetResource {
category: string;
amount: number;
restrictions?: string[];
}
export interface BudgetRequest {
department: string;
category: string;
requestedAmount: number;
justification: string;
priority: number;
}
export interface SpendingHistory {
department: string;
category: string;
period: string;
budgeted: number;
actual: number;
}
export interface BudgetOptimization {
allocations: BudgetAllocation[];
totalBudget: number;
totalAllocated: number;
totalSaved: number;
educationInvestment: EducationBoost;
philosophyImpact: {
teacherResourceBoost: number;
studentProgramsAdded: number;
budgetEfficiency: number;
};
}
export interface BudgetAllocation {
department: string;
category: string;
allocated: number;
saved: number;
justification: string;
}
export interface EducationBoost {
teacherTraining: number;
studentPrograms: number;
educationalTechnology: number;
facilityImprovements: number;
newPrograms: number;
}
export interface Space {
id: string;
name: string;
type: string;
capacity: number;
features: string[];
}
export interface ScheduleItem {
spaceId: string;
startTime: Date;
endTime: Date;
purpose: string;
}
export interface SpaceRequirement {
type: string;
capacity: number;
features: string[];
duration: number;
}
export interface SpaceOptimization {
currentUtilization: number;
optimizedUtilization: number;
opportunities: SpaceOpportunity[];
newAllocations: unknown[];
philosophyImpact: {
additionalClassrooms: number;
teacherPrepSpaceAdded: number;
studentCollaborationSpace: number;
};
}
export interface SpaceUtilization {
space: Space;
currentUsage: number;
peakHours: string[];
underutilizedPeriods: string[];
}
export interface SpaceOpportunity {
space: Space;
availableSlots: TimeSlot[];
potentialUses: SuggestedUse[];
estimatedGain: number;
}
export interface TimeSlot {
start: string;
end: string;
days: string[];
}
export interface SuggestedUse {
type: string;
description: string;
benefit: number;
}
export interface StaffMember {
id: string;
name: string;
role: string;
skills: string[];
currentLoad: number;
}
export interface Task {
id: string;
name: string;
category: string;
averageTime: number;
automatable: boolean;
complexity: number;
}
export interface StaffOptimization {
allocations: StaffAllocation[];
totalTimeSaved: number;
automationOpportunities: AutomationOpportunity[];
philosophyImpact: {
teacherEducationTime: number;
adminReduction: number;
studentInteractionIncrease: number;
};
}
export interface StaffAllocation {
staff: StaffMember;
before: {
educationTime: number;
adminTime: number;
supportTime: number;
};
after: {
educationTime: number;
adminTime: number;
supportTime: number;
};
timeSavedPerWeek: number;
}
export interface AutomationOpportunity {
task: Task;
estimatedTimeSaved: number;
implementationCost: number;
paybackPeriod: number;
}
export interface MultiResourceConstraint {
type: string;
resources: string[];
condition: string;
value: number;
}
export interface OptimizationObjective {
name: string;
weight: number;
target: number;
}
export interface MultiResourceOptimization {
allocations: ResourceAllocation[];
synergies: unknown[];
totalEfficiency: number;
constraintsSatisfied: boolean;
philosophyImpact: {
overallImprovement: number;
teacherBenefit: number;
studentBenefit: number;
};
}
export interface SpendingPattern {
averageByCategory: Map<string, number>;
seasonalVariations: unknown[];
growthTrends: unknown[];
}
export interface Inefficiency {
category: string;
amount: number;
reason: string;
}
export interface SpaceUsageData {
percentage: number;
peakHours: string[];
lowPeriods: string[];
}
export interface CategorizedTasks {
educational: Task[];
administrative: Task[];
support: Task[];
}
//# sourceMappingURL=resource-optimization.d.ts.map